Инфоурок Информатика СтатьиСтатья на тему "Подготовка к олимпиадам по информатике: Циклы. Часть 3"

Статья на тему "Подготовка к олимпиадам по информатике: Циклы. Часть 3"

Скачать материал

Циклы. Задачи на цикл while

 

Задача A. Список квадратов

Выведите все точные квадраты натуральных чисел, не превосходящие данного числа N.

Формат входных данных

Задано единственное число N.

Формат выходных данных

Необходимо вывести  все точные квадраты натуральных чисел, не превосходящие данного числа N.

 

Пример

 

Ввод

Вывод

50

1 4 9 16 25 36 49

 

Задача B. Минимальный делитель

Дано целое число, не меньшее 2. Выведите его наименьший натуральный делитель, отличный от 1.

 

Пример

 

Ввод

Вывод

15

3

 

Задача C. Список степеней двойки

По данному числу N распечатайте все целые степени двойки, не превосходящие N, в порядке возрастания.

Операцией возведения в степень пользоваться нельзя!

 

Примеры

 

Ввод

Вывод

50

1 2 4 8 16 32

 

Задача D. Точная степень двойки

Дано натуральное число N. Выведите слово YES, если число N является точной степенью двойки, или слово NO в противном случае.

Операцией возведения в степень пользоваться нельзя!

 

Примеры

 

Входные данные

Выходные данные

1

YES

4

YES

5

NO

 

Задача E. Двоичный логарифм

По данному натуральному числу N выведите такое наименьшее целое число k, что 2kN.

Операцией возведения в степень пользоваться нельзя!

 

Примеры

 

Ввод

Вывод

7

3

 

Задача F. Утренняя пробежка

В первый день спортсмен пробежал x километров, а затем он каждый день увеличивал пробег на 10% от предыдущего значения. По данному числу y определите номер дня, на который пробег спортсмена составит не менее y километров.

Программа получает на вход действительные числа x и y и должна вывести одно натуральное число.

 

Примеры

 

Входные данные

Выходные данные

10

20

9

 

Задача G. Банковские проценты

Вклад в банке составляет x рублей. Ежегодно он увеличивается на p процентов, после чего дробная часть копеек отбрасывается. Каждый год сумма вклада становится больше. Определите, через сколько лет вклад составит не менее y рублей.

Программа получает на вход три натуральных числа: x, p, y и должна вывести одно целое число.

 

Примеры

 

Входные данные

Выходные данные

100

10

200

8

 

 

Задача H. Числа Фибоначчи

Последовательность Фибоначчи определяется так:

φ0=0,  φ1=1, ..., φnn-1n-2.

По данному числу n определите n-е число Фибоначчи φn.

 

Примеры

 

Ввод

Вывод

6

8

 

Задача I. Номер числа Фибоначчи

Дано натуральное число A > 1. Определите, каким по счету числом Фибоначчи оно является, то есть выведите такое число n, что φn=A. Если А не является числом Фибоначчи, выведите число -1.

 

Примеры

 

Ввод

Вывод

8

6

10

-1

 

Задача J. Исполнитель Раздвоитель

Исполнитель “Раздвоитель” преобразует натуральные числа. У него есть две команды: “Вычесть 1” и “Разделить на 2”, первая команда уменьшает число на 1, вторая команда уменьшает число в два раза, если оно чётное, иначе происходит ошибка.

Дано два натуральных числа A и B (A>B). Напишите алгоритм для Развоителя, который преобразует число A в число B и при этом содержит минимальное число команд. Команды алгоритма нужно выводить по одной в строке, первая команда обозначается, как -1, вторая команда как :2.

 

Примеры

 

Ввод

Вывод

179

20

-1

:2

-1

:2

:2

-1

-1

 

Задача K. Исполнитель Водолей

У исполнителя “Водолей” есть два сосуда, первый объемом A литров, второй объемом B литров, а также кран с водой. Водолей может выполнять следующие операции:

Наполнить сосуд A (обозначается >A).

Наполнить сосуд B (обозначается >B).

Вылить воду из сосуда A (обозначается A>).

Вылить воду из сосуда B (обозначается B>).

Перелить воду из сосуда A в сосуд B (обозначается как A>B).

Перелить воду из сосуда B в сосуд A (обозначается как B>A).

Команда переливания из одного сосуда в другой приводят к тому, что либо первый сосуд полностью опустошается, либо второй сосуд полность наполняется.

Программа получает на вход три натуральных числа A, B, N, не превосходящих 104 Вам необходимо вывести алгоритм действий Водолея, который позволяет получить в точности N литров в одном из сосудов, если же такого алгоритма не существует, то программа должна вывести текст Impossible.

Количество операций в алгоритме не должно превышать 105. Гарантируется, что если задача имеет решение, то есть решение, которое содержит не более, чем 105 операций.

 

Примеры

 

Ввод

Вывод

3

5

1

>A

A>B

>A

A>B

3

5

100

Impossible

 


 

Задача A. Список квадратов

var n,i:integer;

begin

  read(n);

  i:=1;

  while i<=n do

    begin

      if sqrt(i)=int(sqrt(i)) then

        write(i,' ');

      i:=i+1;

    end;

end.

 

var n,i:integer;

begin

  read(n);

  i:=1;

  while i<=sqrt(n) do

    begin

      write(i*i,' ');

      i:=i+1;

    end;

end.

 

Задача B. Минимальный делитель

var n,i:integer;

begin

  read(n);

  i:=2;

  while (i<=n) and (n mod i<>0) do

      i:=i+1;

  write(i);

end.

 

Задача C. Список степеней двойки

var n,i:integer;

begin

  read(n);

  i:=1;

  while i<=n do

      begin

        write(i,' ');

        i:=i*2;

      end;

end.

 

Задача D. Точная степень двойки

var n,i:integer;

begin

  read(n);

  i:=1;

  while (i<=n)   do

    i:=i*2;

  if i div 2=n then write('YES')

  else write('NO');

end.

 

Задача E. Двоичный логарифм

var n,i,k:longint;

begin

  read(n);

  i:=1;

  k:=0;

  while i<n do

      begin

        i:=i*2;

        k:=k+1;

      end;

  write(k);

end.

 

Задача F. Утренняя пробежка

var x,y,i:real;

  k:integer;

begin

  read(x,y);

  k:=1;

  i:=x;

  while i<y do

      begin

        i:=i+0.1*i;

        k:=k+1;

      end;

  write(k);

end.

 

Задача G. Банковские проценты

var x,y,i,p:real;

  k:integer;

begin

  read(x,p,y);

  k:=0;

  i:=x;

  while i<y do

      begin

        i:=i+int(p*i)/100;

        k:=k+1;

      end;

  write(k);

end.

 

Задача H. Числа Фибоначчи

var n,i,f0,f1,f:longint;

begin

  read(n);

  f0:=0;

  f1:=1;

  i:=2;

  if n<2 then write(n)

  else

  begin

    while i<=n do

      begin

        f:=f0+f1;

        f0:=f1;

        f1:=f;

        i:=i+1

      end;

  write(f);

  end

end.

 

Задача I. Номер числа Фибоначчи

var n,f0,f1,f,a:longint;

begin

  read(a);

  f0:=0;

  f1:=1;

  n:=0;

  while f<=a do

      begin

        f:=f0+f1;

        f0:=f1;

        f1:=f;

        n:=n+1

      end;

  if f0=a then write(n)

  else write(-1);

end.

 

Задача J. Исполнитель Раздвоитель

var a,b:longint;

begin

  read(a,b);

  while b<a do

    if a>=2*b then

    begin

      if a mod 2=0 then

        begin

          a:=a div 2;

          writeln(':2');

        end

      else

        begin

          a:=a-1;

          writeln('-1');

        end;

    end

    else

      begin

        a:=a-1;

        writeln('-1');

      end;

end.

 

Задача K. Исполнитель Водолей

const

  LIMIT=100000;

var

  a,b,n:longint;

  min,max:char;

  reall:boolean;

  bV,aV,k:longint;

begin

read(a,b,n);

min:='A';

max:='B';

reall:=false;

if a>b then

  begin

  min:='B';

  max:='A';

  a:=a+b;

  b:=a-b;

  a:=a-b;

  end;

aV:=0;

bV:=0;

k:=0;

while k<=LIMIT do

  begin

  inc(k,2);

  if (b - bV >= a)

   then inc(bV,a)

   else

    begin

    bV:= a - (b - bV);

    inc(k,2);

    end;

  if (n = bV) then

    begin

    reall := true;

    break;

    end;

  end;

if reall then

  begin

  bV:=0;

  while true do

    begin

    writeln('>',min);

    writeln(min,'>',max);

    if b-bV>=a then inc(bV,a)

    else

      begin

      bV := a-(b - bV);

      writeln(max,'>');

      writeln(min,'>',max);

      end;

      if (n = bV) then break;

    end;

  end

 else

  writeln('Impossible');

end.

 

 

Просмотрено: 0%
Просмотрено: 0%
Скачать материал
Скачать материал "Статья на тему "Подготовка к олимпиадам по информатике: Циклы. Часть 3""

Методические разработки к Вашему уроку:

Получите новую специальность за 2 месяца

Инструктор по футболу

Получите профессию

Технолог-калькулятор общественного питания

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 610 358 материалов в базе

Скачать материал

Другие материалы

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 31.05.2016 5284
    • DOCX 18.6 кбайт
    • Оцените материал:
  • Настоящий материал опубликован пользователем Умархужаев Азизхан Азамханович. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    • На сайте: 7 лет и 9 месяцев
    • Подписчики: 0
    • Всего просмотров: 28696
    • Всего материалов: 5

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

HR-менеджер

Специалист по управлению персоналом (HR- менеджер)

500/1000 ч.

Подать заявку О курсе

Курс профессиональной переподготовки

Управление сервисами информационных технологий

Менеджер по управлению сервисами ИТ

600 ч.

9840 руб. 5900 руб.
Подать заявку О курсе
  • Сейчас обучается 27 человек из 17 регионов

Курс повышения квалификации

Специфика преподавания информатики в начальных классах с учетом ФГОС НОО

72 ч. — 180 ч.

от 2200 руб. от 1100 руб.
Подать заявку О курсе
  • Сейчас обучается 39 человек из 20 регионов

Курс повышения квалификации

Методика преподавания информатики в начальных классах

72 ч. — 180 ч.

от 2200 руб. от 1100 руб.
Подать заявку О курсе

Мини-курс

Основы образовательной политики и информатики

4 ч.

780 руб. 390 руб.
Подать заявку О курсе

Мини-курс

Подготовка менеджеров по продажам: аспекты телефонных переговоров

10 ч.

1180 руб. 590 руб.
Подать заявку О курсе

Мини-курс

Реклама для роста бизнеса: эффективные стратегии и инструменты

6 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 24 человека из 12 регионов