Нарисуйте комбинационную схему, состоящую из как можно меньшего количества логических элементов NOR (notor) для выражения логической функции двух переменных: A and B or (not A) and (not B). Другие логические элементы использовать нельзя. Помимо рисунка схемы, напишите
цепочку тождественных преобразований, для выражения данной функции через операцию NOR.
1) Натуральное число называется числом Армстронга, если сумма цифр числа, возведенных в N-ю степень, где N - количество цифр в числе, равна самому числу. Напримерт153=1^3 5^3 3^3. Найдитетвсе трехзначныеии четырехзначныеичисла Армстронга
var a,b,c,d,a2:integer;
begin
for a:=100 to 9999 do begin
d:=0;
a2:=a;
while (a2 <> 0) do begin
b:= a2 mod 10;
a2:= a2 div 10;
if a<1000 then c:= (b*b*b)
else c:=(b*b*b*b);
d:= d+c;
end;
if (a = d) then writeln('число армстронга ==> ', a);
end;
end.
2)Авmoморфные числа. Натуральное число называется автоморфным, если оно равно последним цифрам своего квадрата. Например: 25 и 625. Напишите программу, которая вводит натуральное число N и выводит на акран все автоморфные числа, не превосходящие N.
var n,i,l:integer; s1,s2:string;
begin
write('n = '); readln(n);
for i:=1 to n do
begin
str(i,s1);
l:=length(s1);
str(i*i,s2);
if s1=copy(s2,length(s2)-l+1,l) then writeln(i,' ',i*i);
end;
end.
3)Модифицированный алгоритм Евклида для вычисления наибольшего общего делителя двух натуральных чисел, формулируется так: нужно заменять большее число на остаток от деления большего на меньшее до тех пор, пока остаток не станет равно нулю; тогда второе число и есть НОД. Напишите программу, которая реализует этот алгоритм.
var a,b,nod,k:integer;
begin
readln(a,b);
k:=0;
while (a<>0)and(b<>0) do
begin
if a>b then a:=a mod b else b:=b mod a;
k:=k+1;
end;
nod:=a+b;
writeln(nod,' ',k);
end.
1) Натуральное число называется числом Армстронга, если сумма цифр числа, возведенных в N-ю степень, где N - количество цифр в числе, равна самому числу. Напримерт153=1^3 5^3 3^3. Найдитетвсе трехзначныеии четырехзначныеичисла Армстронга
var a,b,c,d,a2:integer;
begin
for a:=100 to 9999 do begin
d:=0;
a2:=a;
while (a2 <> 0) do begin
b:= a2 mod 10;
a2:= a2 div 10;
if a<1000 then c:= (b*b*b)
else c:=(b*b*b*b);
d:= d+c;
end;
if (a = d) then writeln('число армстронга ==> ', a);
end;
end.
2)Авmoморфные числа. Натуральное число называется автоморфным, если оно равно последним цифрам своего квадрата. Например: 25 и 625. Напишите программу, которая вводит натуральное число N и выводит на акран все автоморфные числа, не превосходящие N.
var n,i,l:integer; s1,s2:string;
begin
write('n = '); readln(n);
for i:=1 to n do
begin
str(i,s1);
l:=length(s1);
str(i*i,s2);
if s1=copy(s2,length(s2)-l+1,l) then writeln(i,' ',i*i);
end;
end.
3)Модифицированный алгоритм Евклида для вычисления наибольшего общего делителя двух натуральных чисел, формулируется так: нужно заменять большее число на остаток от деления большего на меньшее до тех пор, пока остаток не станет равно нулю; тогда второе число и есть НОД. Напишите программу, которая реализует этот алгоритм.
var a,b,nod,k:integer;
begin
readln(a,b);
k:=0;
while (a<>0)and(b<>0) do
begin
if a>b then a:=a mod b else b:=b mod a;
k:=k+1;
end;
nod:=a+b;
writeln(nod,' ',k);
end.