Помогите решить задачу. Программирование. ЯП любой.
Найдите все натуральные числа меньше 1000, (2ⁿ)-n, которое делится на 7.
Решаем второй день всем форумом.)))
Язык программирования любой, кроме изотерических типа Brainfuck. )))
Пожалуйста, на C#
https://ideone.com/gC0wwN
К сожалению нет. Мы тоже сначало так думали, но в консоль выводится степень числа, 11 на 7 не делится... а вот 2¹¹=2037, и 2037/7=291. Есть закономерность числа идут тройками, 2 последних разнятся на 1. Разница между первым числом в тройке и первым следующей тройки 21. Т. е. x+=21, x+4, x+5. После 2^31 происходит переполнение и 2^32 уже отрицательное число.
Извиняюсь.
Похоже Ваше решение верное, как и наше первое было, видимо мы просто уже запутались и исказили смысл решения задачи.
print(list(i for i in range(1000) if (2**i-i)%7==0)) на Питоне
Решения:
21k-10, 21k-6, 21k-5, где k - натуральное число.
До 1000 всего 142 решения.
Спасибо! Значит первый раз мы правильно решили...
Совсем запутались....
примерно так
for(i=0;(k=(1<<i)-i)<1000;i++)if(k%7==0)cout<<k<<"\n";
PS: похоже я неправильно понял условие, я думал нужно найти натуральное число, которое соответствует формуле