1. переведите целые числа из десятичной системы в двоичную: 12, 523, 76, 121. 2. переведите из десятичной системы счисления в восьмеричную: 856, 111, 98, 126. 3.переведите из десятичной системы счисления в шестнадцатеричную: 907, 659, 124, 333.
Program z1; var a,b,c,d:integer; procedure nod(x,y:integer;var nod2:integer); begin while x<>y do begin if x>y then begin x:=x-y end else begin y:=y-x end end; nod2:=xend; begin write('a=');readln(a); write('b=');readln(b); write('c=');readln(c); write('d=');readln(d); nod(a,b,b); nod(b,c,c); nod(c,d,d); writeln('nod=',d); readln end.
Function IsPrime(n:integer):Boolean; { Проверка, является ли число простым } var p:integer; found:Boolean; begin found:= (n mod 2 = 0); p:=3; while (not found) and (sqr(p)<=n) do begin found:=(n mod p = 0); p:=p+2 end; IsPrime:=(not found) or (p = 2) end;
const m1 = 20; n1 = 20;
var a: array[1..m1, 1..n1] of integer; s,k:array[1..n1] of integer; i, j, m, n, sum, kol: integer;
begin Write('Введите через пробел число строк и столбцов массива: '); Readln(m, n); Randomize; Writeln(#13#10, 'Исходный массив'); for i := 1 to m do begin for j := 1 to n do begin a[i,j]:= Random(99)+1; Write(a[i,j]:3) end; Writeln end; for j:=1 to n do begin sum:=0; kol:=0; for i:=1 to m do if IsPrime(a[i,j]) then begin sum:=sum+a[i,j]; kol:=kol+1 end; s[j]:=sum; k[j]:=kol end; Writeln('*** Сумма простых элементов по столбцам ***'); for j:=1 to n do Write(s[j]:4); Writeln; Writeln('*** Количество простых элементов по столбцам ***'); for j:=1 to n do Write(k[j]:4); Writeln end.
Тестовое решение:
Введите через пробел число строк и столбцов массива: 12 15
523=1000001011(2)
76=1001100(2)
121=1111001(2)
856=1530(8)
111=157(8)
98=142(8)
126=176(8)
907=38B(16)
659=293(16)
124=7C(16)
333=14D(16)