Программа на pascal: вводятся целые числа. признак конца - ввод числа 0. определить, сколько двузначных четных чисел, оканчивающихся на 2, расположено между 2-ым и 5-ым числами !
Var A,B,i:integer; k:byte; Begin i:=0; k:=0; Repeat Read(A); i:=i+1; if (i>2)and(i<5) then Begin B:=Abs(A); if (9<B)and(B<100)and(B mod 10 = 2) then k:=k+1; End; Until (A = 0)or(i>=5); if A<>0 then Repeat Read(A); Until A = 0; WriteLn(k) End.
mmihail146
14.11.2022
За 2. Взвешиваем по три монеты, если одна легче, то фальшивая среди этих трех, если равновесие, то фальшивая среди трех невзвешененных, потом по одной из тройки где фальшивая, и рассуждаем так же, если одна из монет легче, то она фальшивая, а если равновесие, то фальшивая невзвешенная. Точно также из 27 монет можно определить фальшивую за 3 взвешивания, из 81 за 4, из 3 в степени N монет - за N взвешиваний. А если число монет не равно 3 в степени N, то число взвешиваний равно ближайшей большей степени тройки. То есть, например, если монет 74 - то одну монету тоже можно определить за 4 взвешивания, как и среди 81 монеты. А вот если монет 82, то уже только за 5 взвешиваний - ближайшая большая степень двойки - 243 - 2 в степени 5.
arina2403423
14.11.2022
За 2. Взвешиваем по три монеты, если одна легче, то фальшивая среди этих трех, если равновесие, то фальшивая среди трех невзвешененных, потом по одной из тройки где фальшивая, и рассуждаем так же, если одна из монет легче, то она фальшивая, а если равновесие, то фальшивая невзвешенная. Точно также из 27 монет можно определить фальшивую за 3 взвешивания, из 81 за 4, из 3 в степени N монет - за N взвешиваний. А если число монет не равно 3 в степени N, то число взвешиваний равно ближайшей большей степени тройки. То есть, например, если монет 74 - то одну монету тоже можно определить за 4 взвешивания, как и среди 81 монеты. А вот если монет 82, то уже только за 5 взвешиваний - ближайшая большая степень двойки - 243 - 2 в степени 5.
A,B,i:integer;
k:byte;
Begin
i:=0;
k:=0;
Repeat
Read(A);
i:=i+1;
if (i>2)and(i<5) then
Begin
B:=Abs(A);
if (9<B)and(B<100)and(B mod 10 = 2) then k:=k+1;
End;
Until (A = 0)or(i>=5);
if A<>0 then
Repeat
Read(A);
Until A = 0;
WriteLn(k)
End.