Наивные - загадываем число. Прибавляем к нему 7. Отнимаем загаданное число. x + 7 - x = 7 - загадываем число. Умножаем его на 7. Делим на загаданное число (не сработает для нуля) x * 7 / x = 7
Можно немного это замаскировать: - загадываем число. Умножаем его на 15873. Прибавляем 111111. Делим на 15873. отнимаем загаданное число. (15873x + 111111)/15873 - x = 7
Можно использовать какой-нибудь фокус, например, складывание сумм цифр до тех пор, пока не получится одно число (т.н. "числовой корень", пример: 255 -> 2 + 5 + 5 = 12 -> 1 + 2 = 3) - загадываем натуральное число. Умножаем на 9, находим числовой корень. Отнимаем 2. Разгадка в том, что числовой корень любого числа, делящегося на 9 и не равного нулю, равен 9.
Маскировка: - загадываем натуральное число. Умножаем на 777 и находим числовой корень. Потом на 666 и находим числовой корень. Прибавляем к результату 666. Находим сумму кубов цифр результата. И еще раз. Смотрим на число сотен результата. 666 делится на 9, так что числовой корень числа (666 * что-то) равен 9. 666 + 9 = 675. 6^3 + 7^3 +5^3 = 684. 6^3 + 8^3 + 4^3 = 792
Var k,m: integer; Dat: array[1..10]of integer; // объявление массива begin Dat[1]:=45; //заполнение массива Dat[2]:=55; //заполнение массива Dat[3]:=40; //заполнение массива Dat[4]:=15; //заполнение массива Dat[5]:=20; //заполнение массива Dat[6]:=80; //заполнение массива Dat[7]:=35; //заполнение массива Dat[8]:=70; //заполнение массива Dat[9]:=10; //заполнение массива Dat[10]:=45; //заполнение массива m:= Dat[1]; //m присваивается значение первого элемента массива for k:=2 to 10 do begin //цикл выполняющийся 8 раз (с2 до 10) if Dat[k] < Dat[1] then //сравниваются значения первого и k-ого элемента массива begin //если условие выполняется, то складывается значение первого элемента и k-ого m:= m+ Dat[k] end end; write(m); end.
эта программа складывает значения тех элементов массива, которые меньше первого элемента данного массива и сам этот первый элемент.
Head
Header
Nav
Article
Footer
Объяснение: