Список предметов

Математика
Литература
Алгебра
Русский язык
Геометрия
Английский язык
Химия
Физика
Биология
Другие предметы
История
Обществознание
География
Українська література
Українська мова
Казак тили
Беларуская мова
Информатика
Экономика
Право
Напишите программу, которая вводит натуральное число N и выводит на экран чётные положительные степени числа 2, не большие, чем N , в порядке убывания.

Входные данные:
Входная строка содержит одно натуральное число N .

Выходные данные:
Программа должна вывести в одну строчку через пробел чётные положительные степени числа 2, не большие, чем N , в порядке убывания. Если таких нет, программа должна вывести число 0.
спросил от в категории Информатика

8 Ответы

Вариант №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<br />      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





ответил от
Acheter Cytotec  <a href=http://bpdrugs.com>tadalafil cialis from india</a> Viagra Sildenafil Side Effects Viagra 50mg Bestellen Perfect Rx Tadalafil
ответил от
Amagra 50 Mg Cialis 10 Effet Levitra Test Meinungen  <a href=http://gnplls.com>levitra precio 10 mg</a> Levitra Vardenafil Alternatives
ответил от
Sildenafil Online For Sale Amoxicillin 1000mg Bid  <a href=http://rxbill7.com>online pharmacy</a> Rx Sites No Prescription Needed Approvedonlinemeds Amoxicillin Urinary Tract
ответил от
Buy Zithromax In Uk Viagra 8 Stuck  <a href=http://erxbid.com>cialis levitra comparison</a> Viagra Vente Tunisie Atripla
ответил от
Buy Lasix 100mg Farmaco Cialis 20 Mg Cheapest Price For Cialis  <a href=http://ausgsm.com></a> Cialis Precio 10 Mg Vendita Cialis In Farmacia Buy Valacyclovir Dosage For Shingles
ответил от
Marque Commander Cialis Levitra Generico Recensione Buy Propecia Super Active  <a href=http://bmpha.com>levitra blog</a> Amoxicillin Pet
ответил от
Propecia De Principio Activo Diabetes Y Kamagra Direct Doryx Bacterial Infections Best Website Wycombe  <a href=http://ciali20mg.com>cialis canada</a> Generisches Cialis Erfahrungen Pastillas Para Ereccion
ответил от
x
...