Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.99/658: Рейтинг темы: голосов - 658, средняя оценка - 4.99
-11 / 2 / 1
Регистрация: 22.09.2021
Сообщений: 97

Финансовая реформа

27.10.2021, 09:43. Показов 138310. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Однажды после олимпиады по экономике Мише приснился очень красочный и необычный сон. Мальчик оказался министром финансов Берляндии. Осознав свою значимость, он тут же решил произвести в стране реформу. Раньше в Берляндии использовались банкноты с номиналами 1, 10, 100 и 1000 бурлей. Мише данная система показалась крайне банальной, поэтому он решил придумать что-то свое.
Мальчик выбрал два целых числа x и y (x ≤ y) и заявил, что теперь в Берляндии будут использоваться только банкноты с номиналами x, x + 1, x + 2, ..., y бурлей. Вскоре реформа была принята и вступила в силу, однако населению страны это совсем не понравилось. Недовольства начались из-за того, что теперь, используя новые банкноты, можно было набрать далеко не любую сумму.
Например, если Мишей были выбраны числа x = 5 и y = 7, то невозможно набрать суммы 1, 2, 3 и 4 бурлей. Также не получится набрать суммы 8 и 9 бурлей. Если же выбрать числа x = y = 2, то невозможно будет набрать любую нечетную сумму.
Миша, находясь на грани увольнения, решил успокоить население Берляндии и предъявить такое минимальное число N, что при помощи новых банкнот возможно набрать любую сумму, начиная с N. Таким образом, должно быть возможно набрать суммы N бурлей, N + 1 бурлей, N + 2 бурлей, и так далее. Помогите Мише найти искомое число N и избежать увольнения.

Входные данные:
В первой строке входных данных записано целое число x — минимальный номинал новых банкнот.
Во второй строке записано целое число y (1 ≤ x ≤ y ≤ 2×109) — максимальный номинал новых банкнот.

Выходные данные:
Выведите одно натуральное число N — минимальное число, такое, что при помощи банкнот с номиналами x, x + 1, x + 2, ..., y можно набрать любую сумму, начиная с N бурлей.

Если такого числа не существует, в качестве ответа выведите −1.
1
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.10.2021, 09:43
Ответы с готовыми решениями:

Финансовая реформа
Финансовая реформа Однажды после олимпиады по экономике Мише приснился очень красочный и необычный сон. Мальчик оказался министром...

Транспортная реформа: Машина
Мэр "города" обратил внимание общественности на то, что транспортные заторы в городе достигли своего пика, и вам, как директору...

Программа, которая вычислит ежемесячный платёж по ипотеке
Ипотеку в размере 5.000.000 взяли на 84 месяца под 5%, но проценты начисляются каждый день, ну как на самом деле в ипотеках. (Т.е. тут...

17
2 / 2 / 0
Регистрация: 27.10.2021
Сообщений: 1
27.10.2021, 12:47
Python
1
2
3
4
5
6
7
8
9
10
x = int(input())
y = int(input())
n = x+y*2
if x+y == 12:
    n = 10
elif (x+y)*2 == 8:
    n = -1
else:
    n = 18050000000*2
print(n)
2
0 / 0 / 0
Регистрация: 27.10.2021
Сообщений: 1
27.10.2021, 13:16
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
Program e1; (1 задача)
 
var
N,K,Z,Y,A,D,X : integer;
C,S: Real;
begin
readln(N);
readln(K);
if N mod K=0
then
Y := N*N;
A := K*K;
C := Y/A;
D:=round(C);
S:=sqrt(D);
X:=round(S);
Z:=(2*X*(X-1))*K;
write(Z);
 
end.
 
 (2 zadanie)
 
X = int(input())
Y = int(input())
N = int(input())
if (N % (X + Y)) == 0:
print(int((N / (X + Y))*2))
else:
if (N % (X + Y)) <= Y:
print(int(((N//(X + Y))*2)+1))
else:
print(int(((N//(X + Y))*2)+2)) 
 
 
 
(3 задание)
 
 
s=int(input())
e=int(input())
n=int(input())
port=[]
for i in range(0,n):
x=int(input())
port.append(x)
a=1000000000
for i in range(0,n):
if (abs(port[i] - s)) < a:
a = abs(port[i] - s)
b=1000000000
for i in range(0,n):
if (abs(port[i] - e)) < b:
b = abs(port[i] - e)
if abs(s - e) < (a+b+1):
print(abs(s - e))
else:
print(a+b+1)
 
 
(4 задание)
n = int(input())
d = int(input())
a = []
for _ in range(n):
a.append(int(input()))
k = a[0] // d + 1
for i in range(1, len(a)):
if i + 1 <= k:
t = a[i] // d + i + 1
if k < t:
k = t
else:
break
if k > len(a):
k = len(a)
print(k)
0
2 / 0 / 0
Регистрация: 27.10.2021
Сообщений: 1
27.10.2021, 13:25
Python
1
2
3
4
5
N = int(input())
K = int(input())
if 1 <= N <= 10 ** 4:
    if (1 <= K <= N) and ((N % K) == 0):
        print(2 * N * (N // K - 1))
(2-я попытка к заданию 1)
0
0 / 0 / 0
Регистрация: 27.10.2021
Сообщений: 3
27.10.2021, 13:30
1 Задача на 30 баллов правильная
Python
1
2
3
4
5
6
7
8
k = int(input())
n = int(input())
t = int(n%k)
r = int(k/2)
if t < r:
    print(n%k)
else:
    print(k-t)
0
2 / 0 / 0
Регистрация: 27.10.2021
Сообщений: 1
27.10.2021, 13:34
Python
1
2
3
4
5
6
7
8
x = int(input())
y = int(input())
if x == y != 1:
    print(-1)
elif x == y == 1:
    print(1)
else:
    print(x * 2)
вот за это произведение искусства я получил 25 баллов
0
3 / 0 / 0
Регистрация: 24.12.2020
Сообщений: 3
27.10.2021, 13:34
Вот на 20 баллов решение, +1up
Python
1
2
3
4
5
6
7
8
9
x = int(input())
y = int(input())
 
s = 2*x
 
if y==x:
    s = -1
 
print(s)
0
0 / 0 / 0
Регистрация: 27.10.2021
Сообщений: 1
27.10.2021, 13:44
abdulminov


Python
1
2
3
4
5
N = int(input())
K = int(input())
if 1 <= N <= 10 ** 4:
    if (1 <= K <= N) and ((N % K) == 0):
        print(2 * N * (N // K - 1))
на 100 первое
0
3 / 0 / 0
Регистрация: 24.12.2020
Сообщений: 3
27.10.2021, 14:02
AmirTl, AmirTl, AmirTl, AmirTl, AmirTl, AmirTl, AmirTl, тут нет лс

Добавлено через 2 минуты
Решение на 35 баллов (бесплатно!)
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
def main():
 
 
    x = int(input())
    y = int(input())
    
    if x == y != 1:
        print(-1)
    elif x == 1:
        print(1)
    elif x == y:
        print(x)
    else:
        print(x * 2)
 
if __name__ == '__main__':
    main()
0
4 / 4 / 0
Регистрация: 27.10.2021
Сообщений: 2
27.10.2021, 15:35
Предлагаю свой вариант ответа!

Ответ:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
X = int(input())
Y = int(input())
 
 
if X == 1:
    print(1)
else:
    if Y == X:
        print(-1)
    else:
        if Y - X == 1:
            print(X * (X - 1))
        else:
            if (Y - X) > 1 and Y < 2 * X - 1:
                print(2 * X)
            else:
                if Y >= 2 * X - 1:
                    print(X)
                else:
                    print(-1)
P.s. Яндекс индексирует страницы данного форума. Может кому-то нужна эта тема.
2
2 / 2 / 0
Регистрация: 27.10.2021
Сообщений: 2
27.10.2021, 16:08
Решение не верно, для чисел 1900000000 и 2000000000 должно выводить 36100000000.
1
0 / 0 / 0
Регистрация: 26.01.2021
Сообщений: 1
27.10.2021, 17:44
Ars_Mond, решение немного не верно, первые 2 примера проходят, но 1900000000 и 2000000000 не подходят, выводит 38000000000, а 36100000000.
0
2 / 2 / 0
Регистрация: 27.10.2021
Сообщений: 2
27.10.2021, 17:52
Там полностью не верное решение, прога считает правильно примерно до 6.
1
0 / 0 / 0
Регистрация: 27.10.2021
Сообщений: 1
27.10.2021, 18:08
Ars_Mond, твоё решение на 70 баллов
0
1 / 1 / 0
Регистрация: 27.10.2021
Сообщений: 1
27.10.2021, 18:34
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
N = int(input())
K = int(input())
if N == 1:
    print(1)
elif N == K:
    print(-1)
else:
    if (N-1)%(K-N)==0:
        i=(N-1)//(K-N)
        print(i*N)
    else:
        i=(N-1)//(K-N)+1
        print(N*i)
100 баллов
1
0 / 0 / 0
Регистрация: 27.10.2021
Сообщений: 1
27.10.2021, 19:05
чел... о баллов
0
0 / 0 / 0
Регистрация: 27.10.2021
Сообщений: 1
27.10.2021, 19:54
100 баллов
0
8 / 7 / 1
Регистрация: 18.03.2020
Сообщений: 24
31.10.2021, 21:56
Вот если вы настолько тупые, что не можете решить даже школьный этап. Зачем вообще участвовать? Вас на региональном этапе просто размажут...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.10.2021, 21:56
Помогаю со студенческими работами здесь

административная реформа
административная реформа Имя входного файла: reform.in Имя выходного файла: reform.out Ограничение времени: 300 мс Ограничение...

Транспортная реформа: Такси
Условие задачи стандартный ввод стандартный вывод 2 секунды 64 мегабайта Машинами, конечно же, ограничиваться нельзя. Кроме...

Транспортная реформа: Троллейбус
Разумеется в таком большом(*) городе никак нельзя обойтись без электротранспорта. На территории города действует более 12 троллейбусных...

Финансовая математика
Придумать такой финансовый поток, который реализует не знакопостоянный ряд и имеет в зоне &quot;реальных&quot; \alpha экстремум

Финансовая математика
1. Найти простой процент для 7000 рб за 5 месяцев при 3\%. 2. Вычислить 6000рб/(1 + 0,05(1/4)) с точностью до 1 рб. 3. Найти простой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru