Циклы

71 задачавместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
Известна температура воздуха за каждый день какого-либо месяца. Определить три самых теплых дня (вывести номера этих дней).

Входные данные: в первой строке вводится число N - количество дней в месяце (0 < N <= 31), а затем N целых чисел - температура воздуха.
Выходные данные: выведите ответ на задачу - три числа через пробел в порядке увеличения температуры воздуха (при равенстве температуры воздуха, выводить в порядке уменьшения номеров дней - только для дней с одинаковой температурой воздуха)

Примеры
Входные данные Выходные данные
1 7
3
3
6
3
4
3
4
7 5 3
 
 
✓ 21✗ 1731 000средняяВойти и решать
Даны натуральное число n и целые числа a1, a2, ..., an. Найти номер минимального числа, кратного числу a1 (a1>0) среди всех чисел а1..an. Если чисел с минимальным значением, кратным числу а1 несколько, то должен быть найден номер первого из них. 

Входные данные: в первой строке вводится число N - количество чисел в последовательности (0<N<100), а затем N целых чисел.
Выходные данные: выведите ответ на задачу

Примеры
Входные данные Выходные данные
1 7
4
9
6
-3
-4
8
-2
5
 
 
✓ 51✗ 672900средняяВойти и решать

По заданному натуральному числу m вычислите:

\(x =\sqrt{m+\sqrt{2 \cdot m+...+\sqrt{n \cdot m + ...}}}\).
Входные данные 
На вход программе подается натуральное число m<=100.
 
Выходные данные 
Выведите значение указанного выражения с точностью до 6 значащих цифр после десятичной точки (известно, что это выражение, состоящее из бесконечного числа вложенных корней, для всех указанных значений m конечно).
 
Примеры
Входные данные Выходные данные
1 2 2.158477
✓ 1 040✗ 1 832800средняяВойти и решать

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

  1. Наполнить сосуд A (обозначается >A).
  2. Наполнить сосуд B (обозначается >B).
  3. Вылить воду из сосуда A (обозначается A>).
  4. Вылить воду из сосуда B (обозначается B>).
  5. Перелить воду из сосуда A в сосуд B (обозначается как A>B).
  6. Перелить воду из сосуда B в сосуд A (обозначается как B>A).

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

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

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


Примеры
Входные данные Выходные данные
1 3
5
1
>A
A>B
>A
A>B
2 3
5
6
Impossible
✓ 28✗ 2611 100средняяВойти и решать
Реализуйте на одном из языков программирования алгоритм, представленный на схеме. Выражение S mod K означает вычисление остатка от деления S на K.
В первой строке ввода содержится целое число N (1 ≤ N ≤ 100). Далее следует N строк, содержащих по одному целому числу в диапазоне от 1 до 1000.
Вывести сообщение Yes или No как указано в алгоритме.


 
Ввод Вывод
3
2
1
3
Yes
3
1
2
3
No
Дан числовой ряд и малая величина eps=0.001. С точностью eps (то есть, если сумма при очередном добавлении слагаемого будет отличаться на величину меньшую чем 0.001 от предыдущей, то это слагаемое считается последним) найти сумму ряда, общий член которого задан формулой (n>0):
\(a_n = {2^n \cdot n! \over{n^n}}\)
 
Выведите на экран сумму такого ряда.
✓ 23✗ 186800средняяВойти и решать
Дан числовой ряд и малая величина eps=0.001. С точностью eps (то есть, если сумма при очередном добавлении слагаемого будет отличаться на величину меньшую чем 0.001 от предыдущей, то это слагаемое считается последним) найти сумму ряда, общий член которого задан формулой (n>0):
\(a_n = {1 \over{(3 \cdot n - 2)\cdot(3\cdot n+1)}}\)
 
Выведите на экран сумму такого ряда.
✓ 25✗ 85800средняяВойти и решать
Дан числовой ряд и малая величина eps=0.001. С точностью eps (то есть, если сумма при очередном добавлении слагаемого будет отличаться на величину меньшую чем 0.001 от предыдущей, то это слагаемое считается последним) найти сумму ряда, общий член которого задан формулой (n>0):
\(a_n = {(-1)^{n-1} \over{n^n}}\)
 
Выведите на экран сумму такого ряда.
✓ 33✗ 154800средняяВойти и решать
Троллейбусы одного маршрута проходят через остановку каждые k (1<=k<=500) минут. Известны времена прихода пассажиров на эту остановку. Если пассажир приходит на остановку в момент прихода троллейбуса, то он успевает уехать на нем.
 
Напишите программу, которая бы определяла, во сколько должен пройти первый троллейбус (это время от 0 до k-1), чтобы:
1) Суммарное время ожидания троллейбуса для всех пассажиров было минимально.
2) Максимальное из времен ожидания троллейбуса было минимально.
 
Входные данные
В строке записано сначала число k, затем - число N (0<=N<=100000). Затем идет N чисел, задающих времена прихода пассажиров 
на остановку. Каждое из этих чисел - целое от 0 до 100000.
 
Выходные данные
Запишите два числа, являющиеся ответами на первый и второй вопросы задачи соответственно. 
Если решений несколько, выведите любое из них.

Примеры
Входные данные Выходные данные
1
100 5
0 210 99 551 99
10
51
 
 
12447#12447
Головоломка у баcсейна
Ваша задача - взять фрагменты кода со дна бассейна и заменить ими пропущенные участки программы. 
Нельзя использовать один фрагмент несколько раз, и не все из них вам пригодятся. Цель - создать класс, который скомпилируется, запустится и выведет приведенный ниже текст

a noise
annoys
an oyster


(Количество баллов за ответ будет уточняться после ручной проверки)

class PoolPuzzleOne { 
  public static*void main(String [] args) { 
   int x = 0; 
   while ( ___________ ) { 
      ____________________
      
     if ( x < 1 ) { 
      _____________________
   } 
   _____________________
   
  if ( _____ 
) { 
       _____________
       _____________
    }
  
  if ( x == 1 ) { 
    _____________
  }
 
  if ( _____ 
) { 
      ____________
  } 
 
  System.out.printIn(""); 
  ______________
  }
 }
}


 
 
1051#1051

Что будет выведено на экран после выполнения приведенного ниже фрагмента программы?

#include <iostream>
using namespace std;

int main()
{
    int k=1;
    while (k<100) k=k+k;
    cout << k;
    return 0;
}


Выберите верный вариант ответа
1) 99
2) 100
3) 128
4) 200

Поделиться
Класснуть