Program xxx; var n, s, k, c : integer; sa : real; begin write ('введите число n-'); readln (n); k: =0; s: =0; while n> 0 do begin c: = n mod 10; s: =s+c; k: =k+1; n: =n div 10 end; write ('сумма цифр = ', s); write ('количество цифр =', k); sa: =s/k; write ('среднее арифметическое =', sa) end.
Ответ дал: Гость
1. первая правая цифра числа показывает число единиц, вторая - число двоек (1·2) , третья - число четверок (2·2), четвертая - число восьмерок (4·2) и т.д. имеем:
2. число нужно поделить на два, найти остаток. полученный результат снова поделить на два и найти остаток и т.д. остатки, записанные в обратном порядке и есть запись в двоичном исчислении.
65÷2 = 32 (ост.1)
32÷2 = 16 (ост.0)
16÷2 = 8 (ост.0)
8÷2 = 4 (ост.0)
4÷2 = 2 (ост.0)
2÷2 = 1 (ост.0)
1÷2 = 0 (ост.1)
65₁₀ = 1000001₂
Ответ дал: Гость
var i, j, k, p: integer; a, b: array[1..10] of integer;
begin k : = 0; for i : = 1 to 10 do begin a[i] : = random(20) - 10; write(a[i]: 3); if a[i] > 0 then begin k : = k + 1; b[k] : = a[i]; end; end; for i : = 1 to k - 1 do for j : = i + 1 to k do if b[i] > b[j] then begin p : = b[i]; b[i] : = b[j]; b[j] : = p; end; writeln; for i : = 1 to k do write(b[i]: 3); end.
Ответ дал: Гость
var a: integer; c1, c2, c3, c4: integer;
begin for a : = 1000 to 9999 do begin c1 : = a div 1000; c2 : = (a div 100) mod 10; c3 : = (a div 10) mod 10; c4 : = a mod 10; if (c1 < > c2) and (c1 < > c3) and (c1 < > c4) and (c2 < > c3) and (c2 < > c4) and (c3 < > c4) then writeln(a); end; end.
Популярные вопросы