using System;
public class Test
{
public static void Main()
{
double s=100000;
double p;
int k=0;
Console.Write("P = ");
p = double.Parse(Console.ReadLine());
while (s <= 1500000){
s = s+s*p/100.0;
k++;
}
Console.Write("k = {0}, S = {1:0.00}",k,s);
}
}
Пример:
P = 2
k = 137, S = 1507382.72
//Ошибка в if.
//В принципе можно обойтись и без вычисления s. Просто
//прерывать цикл при несовпадении двух шестеренок и
//выводить NO
var
n, s, i, m, m1: int64;
begin
s := 0;
Read(n, m1);
for i := 1 to n - 1 do
begin
Read(m);
if m = m1 then
S := s + 1;
m := m1;
end;
if (s = n - 1) then
Write('YES');
if (s <> n - 1) then
Write('NO');
end.
Алг массив
нач
цел N = 15
целтаб a[1:N]
цел i
нц для i от 1 до N
a[i] := irnd(0,100)
вывод a[i], " "
кц
вывод нс
a[2] := 0
a[14] := 0
нц для i от 1 до N
вывод a[i], " "
кц
кон
Задание 3.7
//Pascal
var i,n,k:integer;
begin
n:=24;
k:=1;
//количество амеб через
//цикл for
for i:=1 to n div 3 do begin
k:=k*2;
writeln('Время :',i*3,' Амеб :',k);
end;
writeln;
//количество амеб через
//цикл while
i:=0;
k:=1;
while i<n do begin
i:=i+3;
k:=k*2;
writeln('Время :',i,' Амеб :',k);
end;
writeln;
//количество амеб через
//цикл Repeat
i:=0;
k:=1;
repeat
i:=i+3;
k:=k*2;
writeln('Время :',i,' Амеб :',k);
until i=n
end.
Задание 3.8
var
k,b,t:integer;
begin
for b:=1 to 10 do
for k:=1 to 20 do
for t:=1 to 200 do
if (b*10+k*5+t*0.5=100)and(b+k+t=100)then writeln('Быков: ',b,' Коров:',k,' Телят:',t);
end.