Цикл while

111 задач
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.

У учительницы есть X конфет. Она раздаёт их ученикам по очереди, давая каждому по Z конфет. Последний ученик может получить неполную порцию, если конфет останется меньше Z. Учеников в школе достаточно много. Напишите программу, которая выведет, сколько конфет получил каждый ученик.

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

  • X — количество конфет - целое число не больше 100

  • Z — конфет каждому - целое число не больше 10
    Каждое число в отдельной строке

Выходные данные: номер ученика и количество конфет через пробел (каждая пара на новой строке). 

Макс купил премиум-подписку в Roblox и получил Y робуксов. Каждый день он тратит ровно X робуксов на скины и улучшения, если у него есть такая возможность. Напишите программу, которая выводит остаток робуксов на конец каждого дня, пока у него не закончатся робуксы (станет меньше X).​

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

  • X — робуксов тратит в день

  • Y — начальное количество робуксов

Выходные данные: остаток робуксов на конец каждого дня (каждое число на новой строке)

Артём играет в игру, где каждый день его монеты удваиваются. Сейчас у него Y монет, и он хочет узнать, сколько монет будет у него каждый день, пока он не накопит хотя бы Z монет.​

Напишите программу, которая выводит количество монет на конец каждого дня (после удвоения).​

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

  • Y — начальное количество монет

  • Z — целевое количество монет

Выходные данные: количество монет на конец каждого дня (каждое число на новой строке)

Даша играет в Roblox и зарабатывает по X робуксов каждый день. Сейчас у неё Y робуксов, и она хочет накопить не менее Z робуксов.

Напишите программу, которая выводит баланс Даши на конец каждого дня, пока она не достигнет цели.​

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

  • X — робуксов зарабатывает в день

  • Y — текущие робуксы

  • Z — цель

Каждое число в отдельной строке.

Выходные данные: баланс на конец каждого дня (каждое число на новой строке)

✓ 9✗ 32500лёгкаяВойти и решать
⏰ Починка машины времени:
[█████████████████░░░] 86% - Модуль 6 из 7 восстановлен
✅ Центральный процессор: СИНХРОНИЗИРОВАН
⚠️ Последний модуль критически важен!

Все модули восстановлены, но машина времени не запускается! Нужен специальный цифровой код синхронизации, который генерируется по древнему алгоритму Хроноса. Этот код создает резонанс между временными потоками! 

Цифровой код состоит из последовательности чисел, которая генерируется по алгоритму, описанному в дневнике Хроноса: 
  • Код начинается с числа, которое отображается на экране.
  • Далее временной поток раздваивается и ускоряется: если предыдущее число было четным, то к нему прибавляется 3 (+3), нечетное число создает квантовый скачок и оно удваивается  (х2).
  • Когда энергия превысит 100 единиц — цифровой код готов!

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


 
На школьной ярмарке вы собираете пожертвования. Волонтёры вводят суммы одну за другой (только целые неотрицательные числа, волонтёры не будут вводить отрицательные числа). Когда кто-то вводит 0 — сбор закрывается, нужно вывести общую сумму.

Напишите программу, которая запрашивает у пользователя ввод чисел в цикле (вводятся только неотрицательные числа), пока не будет введён ноль и выведет сумму чисел.
 
✓ 406✗ 906300лёгкаяВойти и решать
Чтобы найти последнюю цифру числа n необходимо вычислить остаток от деления этого числа на 10. 
d = n % 10
Чтобы уменьшить число в 10 раз (убрать последнюю цифру из записи числа) необходимо целочисленно разделить это число на 10.
n = n // 10
 
Контрольные суммы применяются в штрихкодах, билетах, банковских операциях и это не полный список их применения.

Чтобы быстро проверить, не ошиблись ли при вводе суммы в чеке, считают сумму цифр числа (так называемая контрольная сумма). Выберите программу, которая правильно найдёт сумму цифр числа 123.
 
1) 
n = 123
s = 0
while n > 0:
    n = n // 10
    d = n % 10
    s = s + d
print(s)
3)
n = 123
s = 0
while n > 0:
    d = n // 10
    s = s + d
    n = n % 10
print(s)
2) 
n = 123
s = 0
while n > 0:
    d = n % 10
    s = s + d
    n = n // 10
print(s)
4)
n = 123
s = 1
while n > 0:
    d = n % 10
    s = s + d
    n = n // 10
print(s)
Что будет выведено после выполнения программы?
i = 1
while i <= 3:
    print("Шаг", i)
    i = i + 1
Выберите верный вариант ответа
1)
Шаг 1
Шаг 2
Шаг 3


2) 
Шаг 0
Шаг 1
Шаг 2


3)
Шаг 1
Шаг 2


4)
Ничего не выведет
1631 - 7#60302
Дано натуральное число N. Фрагмент алгоритма 
int M, N;
cin >> N;
M = 0;
while (N != 0) {
    if ((N % 10) % 2 != 0) M++;
    N = N / 10;
}
cout << M;
  1. находит количество четных цифр в числе;

  2. находит количество нечетных цифр в числе;

  3. находит сумму четных цифр числа;

  4. находит произведение нечетных цифр числа.

С клавиатуры вводятся целые положительные числа. Напишите программу, которая находит сумму введенных чисел. Числа вводятся до тех пора, пока не будет введено число 0.

Выведите на экран ответ - сумму введенных чисел.
✓ 365✗ 701300лёгкаяВойти и решать
У исполнителя Калькулятор две команды:

прибавь 1

умножь на 4

Выполняя первую из них, Калькулятор прибавляет к числу на экране 1, а выполняя вторую, умножает число на экране на 4. Запишите порядок команд в программе для получения из нуля числа N.

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

Выходные данные
Выведите последовательность из команд 1 (прибавь 1) и 4 (умножь на 4), разделенные пробелами. Если решений несколько, выведите любое из них.
✓ 9✗ 16600лёгкаяВойти и решать
В первый день спортсмен пробежал x километров, а затем он каждый день увеличивал пробег на 70% от предыдущего значения. По данному числу y определите номер дня, на который пробег спортсмена составит не менее y километров.

Входные данные
На вход программа получает два действительных числа x и y. Числа положительные, действительные, не превосходят 1000, заданы с точностью до шести знаков после запятой.

Выходные данные
Программа должна вывести единственное целое число.
Переведите натуральное число из двоичной системы в десятичную (в двоичном числе не более 10 цифр).

Входные данные
Вводится натуральное число, записанное в двоичной системе.

Выходные данные
Выведите число, записанное в десятичной системе.
Палиндром - это число, одинаково читающееся в обоих направлениях (не меняется при перестановке своих цифр в обратном порядке).
Дано натуральное число K. Выведите на экран количество натуральных палиндромов, не превосходящих число К.

Входные данные 
Задано единственное число K (\(1<=K<=100000\)).

Выходные данные 
Необходимо вывести количество натуральных палиндромов, не превосходящих K.
 
Примеры
Входные данные Выходные данные
1 1 1
2 100 18
✓ 117✗ 92400лёгкаяВойти и решать
Дано натуральное число N (\(N<=10^9\)). Определить две самые большие цифры числа. 

Входные данные 
На вход подается натуральное число.

Выходные данные 
Выведите две цифры через пробел, сначала наибольшую цифру числа, затем вторую по величине (не равную первой наибольшей цифре). Если число состоит из одинаковых цифр - выведите NO.
 

 

Примеры
Входные данные Выходные данные
1 45545 5 4
2 111 NO
✓ 139✗ 26200лёгкаяВойти и решать
Дано натуральное число N (\(N<=10^9\)). Определить две самые большие цифры числа. 

Входные данные 
На вход подается одно число (число содержит как минимум 2 различные цифры).

Выходные данные 
Выведите две цифры через пробел, сначала наибольшую цифру числа, затем вторую по величине (не равную первой наибольшей цифре).
 

 

Примеры
Входные данные Выходные данные
1 45545 5 4
2 1113 3 1
Поделиться
Класснуть