Pascal. найти нод чисел a и b алгоритмом евклида и вывести сколько шагов цикла вычисления нод было произведено. (вычисление нод без вывода шагов): while a< > b do begin if a> b then a: =a1-b1 else b : = b-a; das: =b;
Var m : array[0..6] of Integer; i,k,N : Integer; Begin For i:=0 to 6 do m[i]:=0; Readln(N); k:=6; While N>0 do Begin If N>=Power(2,k) then Begin N:=N-Trunc(Power(2,k)); Inc(m[k]); end else Dec(k); end; For i:=0 to 6 do Writeln(Power(2,i),' ',m[i],' шт.'); end.
Еще вариант: Const NN = 7; money : array[1..7] of Integer = (1,2,4,8,16,32,64); Var m : array[1..NN] of Integer; i,k,N : Integer; Begin For i:=1 to NN do m[i]:=0; Readln(N); k:=NN; While N>0 do Begin If N>=money[k] then Begin N:=N-money[k]; Inc(m[k]); end else Dec(k); end; For i:=1 to NN do Writeln(money[i],' ',m[i],' шт.'); end.
//Сделал Лугачев Кирилл //Специально для //Все данные вводятся с клавиатуры program Sravnenie; var a, b: integer; // Стороны 1-ого прямоугольника d, c: integer;// Стороны 2-ого прямоугольника S1, S2: integer; // Площадь buf: integer;// Если площадь 1-ого будет меньше 2-ого //поменяем местами,что бы избавиться от минуса razn: integer; // Разница 2-ух площадей
begin Write('Введите стороны 1-ого прямоугольника: '); Readln(a, b);
Write('Введите стороны 2-ого прямоугольника: '); Readln(d, c); S1 := a * b; //Площадь 1-ого S2 := d * c; //Площадь 2-ого if S1 < S2 then begin buf := S1; S1 := S2; S2 := buf; end; razn := S1 - S2; Writeln('Площадь 1-ого больше площади 2-ого в - ',razn, ' раз'); end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку