Вася увидел выступление Дэвида Копперфилда
и решил поразить своих одноклассников собственными фокусами. Вот один из них:
Вася предлагает однокласснику умножить число даты его рождения на 12, а
номер месяца – на 31 и сообщить ему сумму обоих произведений, после чего
быстро называет его дату рождения.
Так как к Васе начала
выстраиваться очередь и он устал, он просит Вас написать программу, которая
будет показывать этот фокус вместо него.
Вход. Одно число – сумма, полученная Васиным
одноклассником.
Выход. Вывести день и месяц рождения
одноклассника Васи в формате “ДД/ММ”.
Пример
входа 1 |
Пример
выхода 1 |
170 |
09/02 |
|
|
Пример
входа 2 |
Пример
выхода 2 |
322 |
01/10 |
перебор
Пусть s –
входная сумма. Методом полного перебора найдем такие значения day (1 ≤ day ≤ 31) и mon (1 ≤ mon ≤ 12), что day * 12 + mon * 31 = s.
Читаем входное
значение суммы s.
scanf("%d", &s);
Перебираем значения дня day и месяца mon.
for (day = 1; day <= 31; day++)
for (mon = 1; mon <= 12; mon++)
Если
сумма произведений равна s, то выводим день и месяц
рождения Васи и завершаем работу программы.
if (day * 12 + mon * 31 == s)
{
printf("%02d/%02d ", day, mon);
return 0;
}
Java реализация
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner con = new Scanner(System.in);
int s = con.nextInt();
for (int day = 1; day <= 31; day++)
for (int mon = 1; mon <= 12; mon++)
if (day * 12 + mon * 31 == s)
{
System.out.printf("%02d/%02d ", day, mon);
con.close();
return;
}
con.close();
}
}
Python реализация
s = int(input())
for day in range(1, 32):
for mon in range(1,13):
if day * 12 + mon *
31 == s:
print("%02d/%02d " % (day, mon))
quit()