Top.Mail.Ru
Ответы

Помогите решить задачу. Программирование. ЯП любой.

Дополнен

Найдите все натуральные числа меньше 1000, (2ⁿ)-n, которое делится на 7.
Решаем второй день всем форумом.)))

Дополнен

Язык программирования любой, кроме изотерических типа Brainfuck. )))

По дате
По рейтингу
Аватар пользователя
mr_perfectly_fineМудрец
8лет

Пожалуйста, на C#
https://ideone.com/gC0wwN

Аватар пользователя
sergei_59443Ученик
8лет

К сожалению нет. Мы тоже сначало так думали, но в консоль выводится степень числа, 11 на 7 не делится... а вот 2¹¹=2037, и 2037/7=291. Есть закономерность числа идут тройками, 2 последних разнятся на 1. Разница между первым числом в тройке и первым следующей тройки 21. Т. е. x+=21, x+4, x+5. После 2^31 происходит переполнение и 2^32 уже отрицательное число.

Аватар пользователя
sergei_59443Ученик
8лет

Извиняюсь.
Похоже Ваше решение верное, как и наше первое было, видимо мы просто уже запутались и исказили смысл решения задачи.

Аватар пользователя
iurii_moiseev_149Просветленный
8лет

print(list(i for i in range(1000) if (2**i-i)%7==0)) на Питоне

Аватар пользователя
andvanced_chessМудрец
8лет

Решения:
21k-10, 21k-6, 21k-5, где k - натуральное число.
До 1000 всего 142 решения.

Источник: Алгебра
Аватар пользователя
sergei_59443Ученик
8лет

Спасибо! Значит первый раз мы правильно решили...
Совсем запутались....

Аватар пользователя
ivan_sigaev_1Оракул
8лет

примерно так
for(i=0;(k=(1<<i)-i)<1000;i++)if(k%7==0)cout<<k<<"\n";

PS: похоже я неправильно понял условие, я думал нужно найти натуральное число, которое соответствует формуле



Видео по теме