Заполните целочисленный массив псевдослучайными числами от -5 до 55 1) найти максимальный счетный элемент и указать порядковый номер 2) найти все элементы кратные 3-ём и вывести их сумму 3) определить количество отрицательных элементов в массиве
// PascalABC.NET 3.3, сборка 1600 от 23.12.2017 // Внимание! Если программа не работает, обновите версию!
begin var a:=ArrRandom(ReadInteger('n='),-5,55); a.Println; var max:=a.Where(t->t.IsEven).Max; var imax:=a.IndexesOf(t->t=max).FirstOrDefault; Writeln('1: a[',imax+1,']=',max); Writeln('2: ',a.Where(t->t mod 3=0).Sum); Writeln('3: ',a.Where(t->t<0).Count); end.
Наивные - загадываем число. Прибавляем к нему 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
Наивные - загадываем число. Прибавляем к нему 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
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(ReadInteger('n='),-5,55); a.Println;
var max:=a.Where(t->t.IsEven).Max;
var imax:=a.IndexesOf(t->t=max).FirstOrDefault;
Writeln('1: a[',imax+1,']=',max);
Writeln('2: ',a.Where(t->t mod 3=0).Sum);
Writeln('3: ',a.Where(t->t<0).Count);
end.
Пример
n= 20
-4 45 4 -5 38 1 42 52 53 17 42 22 3 11 28 5 14 28 35 22
1: a[8]=52
2: 132
3: 2