Напишите программу, которая вводит натуральное число N и выводит на экран чётные положительные степени числа 2, не большие, чем 2 N , в порядке убывания.
Входные данные
Входная строка содержит одно натуральное число N .
Выходные данные
Программа должна вывести в одну строчку через пробел чётные положительные степени числа 2, не большие, чем 2 N , в порядке убывания. Если таких нет, программа должна вывести число 0.
Напишите программу, использую только while, без repeat и until
Максимальное количество баллов
Ответы на вопрос:
ответ:Вариант №1 (не совсем удачный, как было отмечено в комментариях).
//PascalABC.NET (версия 3.1, сборка 1210 от 29.03.2016)
var n,i,m:integer;
flag:boolean;
begin
readln(n);
flag:=false;
if (n mod 2<>0)then i:=n-1 else i:=n;
while i>0 do begin
if power(2,i)<=n then begin
write(power(2,i),' '); flag:=true;
end;
i:=i-2;
end;
if not flag then writeln(0);
end.
Тест №1
1025
1024 256 64 16 4
Тест №2
1
0
Вариант №2
var a,i,n: integer;
begin
a:=1;readln(n);
i:=trunc(log2(n)); //получим степень двойки для n
//если i нечетное,
//то первое искомое число получаем путем сдвига влево на i-1 в
//двоичном представлении числа иначе сдвиг на i
if (i mod 2)=1 then a:=a shl(i-1) else a:=a shl i;
//далее получаем числа сдвигая вправо на 2 разряда
//в двоичном представлении числа
while a>=2 do begin
write(a,' ');
a:=a shr 2;
end;
end.
Тестовое решение:
2147483647
1073741824 268435456 67108864 16777216 4194304 1048576 262144 65536 16384 4096 1024 256 64 16 4
1)
a = int(input("введіть 1 число: "))
b = int(input("введіть 2 число: "))
c = int(input("введіть 3 число: "))
d = int(input("введіть 4 число: "))
e = int(input("введіть 5 число: "))
f = int(input("введіть 6 число: "))
d = int(input("введіть 7 число: "))
q = int(input("введіть 8 число: "))
w = int(input("введіть 9 число: "))
z = int(input("введіть 10 число: "))
suma = [a,b,c,d,e,f,d,q,w,z]
print('сума введених чисел = ',sum(suma))
2)
s = 0
while true:
a = int(input("введіть число: "))
s += a
print("сума введених чисел: ",s)
if a == 0:
break
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
AnitaGo09.02.2022 14:05
-
Мила541130.08.2021 21:48
-
savvakuratov200510.11.2022 04:42
-
оксаночка2530.07.2021 23:34
-
69Maxsim9625.09.2022 14:00
-
Ly357701.06.2022 01:02
-
анна226230.01.2022 17:26
-
denisshirockow05.03.2021 02:27
-
g088624227.02.2021 15:34
-
superpuper8204.06.2023 10:27
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.