Решить 2 на языке паскаль! 1) по данному числу n распечатайте все целые степени двойки, не превосходящие n, в порядке возрастания. операцией возведения в степень пользоваться нельзя! 2) в первый день спортсмен пробежал x километров, а затем он каждый день увеличивал пробег на 10% от предыдущего значения. по данному числу y определите номер дня, на который пробег спортсмена составит не менее y километров. программа получает на вход действительные числа x и y и должна вывести одно натуральное число.
1)
Program Pr1;
uses crt;
var n,i:integer;
x:real;
Begin
clrscr;
readln(n);
for i:=1 to n do if exp(i*ln(2))<n then writeln(i);
end.
2)
Program Pr1;
uses crt;
var i,r,y:integer;
a,x:real;
begin
clrscr;
readln(x,y);
i:=1;
while x<=y do begin
x:=x+0.1*x;
i:=i+1;
end;
writeln(i);
end.
begin
var n:=ReadInteger;
1.Iterate(k->2*k).TakeWhile(x->x<=n).Println;
end.
Тестовое решение
50
1 2 4 8 16 32
import java.util.Scanner;
class Main {
public static void main(String [ ] args) {
Scanner sn = new Scanner(System.in);
int n = sn.nextInt();
int x = 1;
while(x < n) {
System.out.print(x+" ");
x *= 2;
}
}
}
n = int(input())
two_in_power = 2
power = 1
while two_in_power <= n:
two_in_power *= 2
power += 1
print(power - 1, two_in_power // 2)
Объяснение:
пиши это все
var n,m:integer;
begin
write('n=');
readln(n);
m:=1;
while m<n do
begin
write(m,' ');
m:=m*2;
end;
end.
base = 1
while base <= n:
print base
base *= 2
begin
write('n='); readln(n);
k:=1;
while k<=n do
begin
write(k,' ');
k:=k*2;
end;
writeln;
end.
Пример:
n=50
1 2 4 8 16 32
begin
write('n = '); readln(n);
st:=1;
while st<=n do
begin
write(st,' ');
st:=st*2;
end;
writeln;
end.
Пример:
n = 50
1 2 4 8 16 32