Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
Pomogitemnepj
0 / 0 / 0
Регистрация: 05.02.2018
Сообщений: 20
1

Вывести четные положительные степени числа 2, не превышающие числа N

09.02.2018, 22:22. Просмотров 840. Ответов 3
Метки нет (Все метки)

Напишите программу, которая вводит натуральное число N и выводит на экран чётные положительные степени числа 2, не большие, чем N , в порядке убывания.

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

Выходные данные
Программа должна вывести в одну строчку через пробел чётные положительные степени числа 2, не большие, чем N , в порядке убывания. Если таких нет, программа должна вывести число 0.
Примеры
входные данные
1025
выходные данные
1024 256 64 16 4
входные данные
3
выходные данные
0
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2018, 22:22
Ответы с готовыми решениями:

Посчитать и вывести четные и нечетные, положительные и отрицательные числа массива
задан массив k(20) посчитать и вывести четные и нечетные, положительные и отрицаетельные числа....

Оператор WHILE: Вывести все четные числа, начиная с числа N и до числа М
Вывести все четные числа, начиная с числа N и до числа М. Числа N и М задает пользователь,...

Вывести все четные числа, начиная с числа N и до числа М
Пожалуйста решите с использованием while Вывести все четные числа, начиная с числа N и до числа М....

Переписать в файл V все четные положительные числа из файла в убывающем порядке
Помогите пожалуйста с решением Сформировать файл W, состоящий из целых чисел. Переписать в файл...

Вывести числа, не превышающие введенного числа
Вывести числа не превышающих введенного числа Допустим с клавиатуры ввожу числа 3 5 7 и число...

3
Hitoku
Модератор
1703 / 1302 / 1400
Регистрация: 28.10.2016
Сообщений: 4,240
Завершенные тесты: 4
09.02.2018, 22:43 2
Лучший ответ Сообщение было отмечено Pomogitemnepj как решение

Решение

Как вариант (знаю, что крайне неоптимально, но сейчас в голову другого не пришло)
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var n, x: integer;
begin
  read(n);
  x := 2;
  if (power(2, x) > n) then write('0')
  else begin
    while (power(2, x) <= N) do inc(x, 2);
    dec(x, 2);
    while (x <> 0) do begin
      write(power(2, x), ' ');
      dec(x, 2);
    end;
  end;
end.
1
Pomogitemnepj
0 / 0 / 0
Регистрация: 05.02.2018
Сообщений: 20
09.02.2018, 23:18  [ТС] 3
Спасибо большое!
0
Cyborg Drone
Модератор
5290 / 3169 / 2441
Регистрация: 17.08.2012
Сообщений: 10,184
10.02.2018, 00:37 4
более-менее оптимальный вариант:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var
  n, x: integer;
 
begin
  readln(n);
  x := maxint shr 1 + 1;
  while x >= n do x := x shr 2;
  if x = 1 then dec(x);
  repeat
    write(' ', x);
    x := x shr 2
  until x < 4;
  writeln
end.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.02.2018, 00:37

Вывести все четные числа начиная с числа N и до числа M
помогите кто чем может: while вывести все четные числа начиная с числа N и до числа M. числа...

Вывести все четные числа, начиная с числа N и до числа M
составить программу в паскале,используя оператор WHILE.Вывести все четные числа,начиная с числа N и...

Замените все положительные четные числа на числа "перевертыши"
Пусть дана прямоугольная матрица А(n х m), элементами которой являются целые числа. Замените все...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru