Форум » Обработка целых чисел » 17 задача » Ответить

17 задача

МарияР: Помогите, пожалуйста, с 45 задачей. Не понимаю, почему в ответе -3115 Рассматривается множество целых чисел, принадлежащих числовому отрезку [-9563; -3102], которые удовлетворяют следующим условиям: − кратны 7, но не кратны 11 и 23; − последняя цифра отлична от 8. Найдите количество таких чисел и максимальное из них. моя программа: #include<iostream> #include<cmath> using namespace std; int main(){ int i,k=0,s,m; s=-3103; for (i=-9563;i<-3101;i=i+7) { if ((abs(i%11)!=0)&&(abs(i%23)!=0)&&((abs(i%10)!=8))){ k=k+1; if (i<s)s=i; }} cout<<k<<endl; cout<<s<<endl; }

Ответов - 11

cabanov.alexey: abs(i)%10!=8

МарияР: У меня получается тот же ответ, а в 45 задании -3115, а у меня -3109. Кто не прав?

Поляков: МарияР пишет: у меня -3109. Это число не делится на 7. Копайте в этом направлении. Ответ верный.


МарияР: Разобралась=) спасибо

Blissteacher: count = 0 maxGood = 0 for n in range(3439, 7411): s = ((n % 2 == 1) and (n % 16 != 1)) or ((n % 2 == 0) and (n % 16 != 0)) f = ((n % 9 == 0) or (n % 10 == 0) or (n % 11 == 0)) if s and f: count += 1 maxGood = n print(count, maxGood) мой ответ 949 7410 ЧТО не так

Blissteacher: count = 0 maxGood = 0 for n in range(3439, 7411): s = ((n % 2 == 1) and (n % 16 != 1)) or ((n % 2 == 0) and (n % 16 != 0)) f = ((n % 9 == 0) or (n % 10 == 0) or (n % 11 == 0)) if s and f: count += 1 maxGood = n print(count, maxGood) мой ответ 949 7410

polyakovss: Здравствуйте, Blissteacher! Правильно будет так: [pre2] largest = 0 count = 0 for i in range(3439, 7411): if (i % 9 == 0 or i % 10 == 0 or i % 11 == 0) and ( i % 2 != i % 6): count = count + 1 largest = i print(count,' ',largest) [/pre2] или так: [pre2] L = [x for x in range(3439, 7411) if (x % 9 == 0 or x % 10 == 0 or x % 11 == 0) and ( x % 2 != x % 6)] print(len(L),' ',L[-1]) [/pre2]А ответ указан верный: 683 7407

Blissteacher:

Потапкин Б.: В задании 17 из ЕГЭ ошибка в ответах. Текст задания 46: «Рассматривается множество целых чисел, принадлежащих числовому отрезку [-7018; -3790], которые удовлетворяют следующим условиям: − кратны 6, но не кратны 7 и 19; − последняя цифра отлична от 2.» У меня выдаёт ответ: 437 -7008 В ответах написано: 350 -7008 Код на Паскаль: var n, i, min : integer; begin n := 0; min := 10000; for i := -7018 to -3790 do if (i mod 6 = 0) and (i mod 7 <> 0) and (i mod 19 <> 0) and (i mod 10 <> 2) then begin n := n + 1; if i < min then min := i; end; writeln(n, ' ', min); end.

Поляков: Потапкин Б. пишет: and (abs(i) mod 10 <> 2) then begin

Саша123: Рассматривается множество целых чисел, принадлежащих числовому отрезку [1985; 8528], которые удовлетворяют следующим условиям: − сумма последних двух цифр не равна 6; − не кратны 2, 7 и 47. Найдите максимальное из таких чисел и последние 3 цифры их произведения. Max = 0 c = 0 Pro = 1 for n in range(1985, 8528+1): if (str(n)[-1] + str(n)[-2]) != 6 and n%2 != 0 and n%7 != 0 and n%47 != 0: c = n Pro = Pro * n Max = max(Max, c) print(Max, Pro%1000) В чем ошибка?



полная версия страницы