1)
Function check7(a As Range) As Integer
Dim r As Range
Dim i As Integer
For Each r In a
i = i + 1 - Sgn((Abs(r) + 3) Mod 10)
Next
check7 = i
End Function
Excel VBA
2)
А что здесь программировать-то?
Задача сводится к с следующей: Дано два ящика и 7 мячиков. Сколькими можно разместить эти 7 мячиков в этих двух ящиках?
Бросаем все мячики в первый ящик (это первое размещение), затем перекладываем по одному мячика из первого ящика во второй.
Получаем варианты:
7|0
6|1
5|2
4|3
3|4
2|5
1|6
Итого 7 вариантов (варианта 0|7 быть не может, поскольку двузначное число с нуля не начинается).
В общем-то и без вычислений всем очевидно, что разместить 7 мячиков в двух ящиков ровно 7.
Что должна вычислять программа?
1321
Объяснение:
Число 2^900 в двоичном виде - это единица с девятьюстами нулями.
Число 7 - это 2^2+2^1+2^0
2^900-2^0=2^900-1=2^899 (в двоичном виде - это 900 единиц)
2^2+2+1 в двоичном виде выглядит как 110.
Операция 2^899-2^2-2^1 в двоичном виде представляет из себя замену предпоследних, 898-й и 899-й единиц на 0. Число в двоичном виде будет выглядеть как 897 единиц, затем два нуля, затем единица.
Значащих нулей в числе 2^900-7 рано двум.
8^740=(2^3)^740=2^(740*3)=2^2220
Число 2^2220 в двоичном виде - это единица с двумя тысячами двести двадцатью нулями.
2220-900+1=1321 То есть при сложении, число 2^900-7 записывается в числе 2^2220 начиная с 1321-го разряда.
Искомое число 8^740+2^900-7 в двоичном виде будет выглядеть как единица, 1319 нулей, 897 единиц, два нуля и одна единица.
Число значащих нулей в этом числе составит 1319+2=1321.
Поделитесь своими знаниями, ответьте на вопрос:
Создайте программу выводящую на экран таблицу квадратов двузначных чисел. столбиком и прямоугольной таблицей на паскале !
a1,a2,a3,a4,a5: integer;
i: integer;
function fshl(var z1,z2,z3,z4,z5: integer);
var
b: integer;
begin
b:=z1;
z1:=z2;
z2:=z3;
z3:=z4;
z4:=z5;
z5:=b;
end;
begin
writeln('Введите 5 чисел');
readln(a1); readln(a2); readln(a3);
readln(a4); readln(a5);
fshl(a1, a2, a3, a4, a5);
writeln(a1,' ',a2,' ', a3, ' ',a4, ' ', a5);
end.