В первый день спортсмен пробежал x километров

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

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

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

понедельник, 14 марта 2011 г.

Операторы цикла

Цикл While. Блок 1. Задачи на цикл While.

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

  1. int n;
  2. cin>>n;
  3. int value = 1;
  4. int curSqr = value * value ;
  5. while (curSqr ‘ ‘ ;
  6. value ++;
  7. curSqr = value * value ;
  8. >

* This source code was highlighted with Source Code Highlighter .

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

  1. int n;
  2. cin >> n;
  3. int i = 2, min_den = 1;
  4. int sqrt_n = sqrt(( double )n);
  5. while (i if (n % i == 0)
  6. <
  7. min_den = i;
  8. break ;
  9. >
  10. i++;
  11. >
  12. if (min_den == 1)
  13. cout else
  14. cout * This source code was highlighted with Source Code Highlighter .

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

Той же самой цели можно добиться, заменив явное умножение на 2 побитовым сдвигом.
Вариант 2.

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

  1. int n;
  2. cin>>n;
  3. int bitAmount = 0;
  4. while (n) <
  5. bitAmount += n % 2;
  6. n /= 2;
  7. >
  8. if (bitAmount == 1)
  9. cout "YES" ;
  10. else
  11. cout "NO" ;

* This source code was highlighted with Source Code Highlighter .

Задача E. Двоичный логарифм
По данному натуральному числу N выведите такое наименьшее целое число k, что 2 k ≥N.
Операцией возведения в степень пользоваться нельзя!

  1. int n;
  2. cin >> n;
  3. int pow2 = 1, k = 0;
  4. while (pow2 * This source code was highlighted with Source Code Highlighter .

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

Читайте также:  Степенная функция и показательная отличия

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

  1. int n, i = 2, f1 = 0, f2 = 1, cur;
  2. cin >> n;
  3. while (i if (n else
  4. cout * This source code was highlighted with Source Code Highlighter .

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

  1. int a, i = 1, f1 = 0, f2 = 1, cur = 1;
  2. cin >> a;
  3. while (cur if (cur == a)
  4. cout else
  5. cout * This source code was highlighted with Source Code Highlighter .

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

Задача K. Исполнитель Водолей
У исполнителя “Водолей” есть два сосуда, первый объемом A литров, второй объемом B литров, а также кран с водой. Водолей может выполнять следующие операции:
Наполнить сосуд A (обозначается >A).
Наполнить сосуд B (обозначается >B).
Вылить воду из сосуда A (обозначается A>).
Вылить воду из сосуда B (обозначается B>).
Перелить воду из сосуда A в сосуд B (обозначается как A>B).
Перелить воду из сосуда B в сосуд A (обозначается как B>A).
Команда переливания из одного сосуда в другой приводят к тому, что либо первый сосуд полностью опустошается, либо второй сосуд полностью наполняется.
Программа получает на вход три натуральных числа A, B, N, не превосходящих 10 4 Вам необходимо вывести алгоритм действий Водолея, который позволяет получить в точности N литров в одном из сосудов, если же такого алгоритма не существует, то программа должна вывести текст Impossible. Количество операций в алгоритме не должно превышать 10 5 . Гарантируется, что если задача имеет решение, то есть решение, которое содержит не более, чем 10 5 операций.

  1. const int LIMIT = 1e5 + 10;
  2. int a, b, n;
  3. cin >> a >> b >> n;
  4. char min = ‘A’ , max = ‘B’ ;
  5. bool real = false ;
  6. if (b int bV = 0, aV = 0;
  7. int k = 0;
  8. do
  9. <
  10. k++; /*printf(">%c
    ",min);*/
  11. k++; /*printf("%c>%c
    ", min, max);*/
  12. if (b — bV >= a)
  13. bV += a;
  14. else
  15. <
  16. bV = a — (b — bV);
  17. k++; /*printf("%c>
    ",max);*/
  18. k++; /*printf("%c>%c
    ", min, max);*/
  19. >
  20. if (n == bV)
  21. <
  22. real = true ;
  23. break ;
  24. >
  25. >
  26. while (k if (real)
  27. <
  28. bV = 0;
  29. do
  30. <
  31. printf( ">%c
    " ,min);
  32. printf( "%c>%c
    " , min, max);
  33. if (b — bV >= a)
  34. bV += a;
  35. else
  36. <
  37. bV = a — (b — bV);
  38. printf( "%c>
    " ,max);
  39. printf( "%c>%c
    " , min, max);
  40. >
  41. if (n == bV)
  42. break ;
  43. >
  44. while ( true );
  45. >
  46. else
  47. cout "Impossible" ;

* This source code was highlighted with Source Code Highlighter .

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

Читайте также:  Для чего нужны носители информации

нужно еще задать начальное значение n, оно будет равно единице

Другие вопросы из категории

? ПОМОГИТЕ

выполнять?Обоснуйте ответы.
5.Приведите различные примеры процесса обработки информации.Определите по каким правилам она производится в каждом примере

а) фотография; б) схема; в)текст; г) формула

Читайте также

превосходящие N, в порядке возрастания.

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

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

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

увеличивал пробег на 10% от пробега предыдущего дня. Определить: а) ежедневное увеличение пробега лыжника за третий, четвёртый, ..десятый день тренировок; б) средний путь лыжника за первые 8 дней тренировок; в) сколько дней он будет бегать менее, чем по 15 км; г) в какой день суммарный пробег за все дни превысит 90 км.

Начав тренировки, спортсмен в первый день пробежал 10 км. Каждый день он увеличивал норму на 10% от предыдущего дня. Какой суммарный путь пробежит спортсмен за 7 дней?

Спортсмен пробежал 10 км в первый день.Каждый следующий день он увеличивал норму на 10% от нормы предыдущего дня. Определить:
a) Через сколько дней он будет пробегать не более 20 км?
б) Сколько километров он пробежит на 7-ой день?

каждый следующий день он увеличивал длину на Р% от пробега предыдущего дня, определить после какого дня суммарный пробег лыжника превысит 200 км. вывести найденное кол-во дней и их суммарный пробег.

Оцените статью
Добавить комментарий

Adblock
detector