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

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

09.02.2018, 22:22. Просмотров 193. Ответов 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
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Вывести четные положительные степени числа 2, не превышающие числа N (Pascal ABC):

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

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

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

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

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

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

3
Hitoku
Модератор
1695 / 1294 / 1398
Регистрация: 28.10.2016
Сообщений: 4,235
Завершенные тесты: 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
Модератор
5252 / 3119 / 2433
Регистрация: 17.08.2012
Сообщений: 10,074
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
Найдите все натуральные числа, не превышающие заданного числа N, которые...


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

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

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