0 / 0 / 0
Регистрация: 20.01.2021
Сообщений: 15

Требуется представить данное число в виде суммы двух натуральных чисел A и B таких, что НОД чисел A и B — максимален

28.01.2021, 23:44. Показов 16832. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Представление чисел
Дано натуральное число N. Требуется представить его в виде суммы двух натуральных чисел A
и B таких, что НОД (наибольший общий делитель) чисел A и B — максимален.
Ограничение по времени выполнения программы - 1 секунда, ограничение по используемой
памяти - 64 мегабайта.
Входные данные
Во входном файле записано натуральное число N (2≤N≤109)

Выходные данные
В выходной файл выведите два искомых числа A и B. Если решений несколько, выведите любое
из них.
Примеры
Входные данные
15
Выходные данные
5 10
Входные данные
16
Выходные данные
8 8
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.01.2021, 23:44
Ответы с готовыми решениями:

Данное число представить в виде суммы кубов двух натуральных чисел
напишите программу !дано натуральное число в виде суммы кубов двух натуральных чисел!

Дано натуральноечисло. Представить данное число в виде суммы квадратов натуральных чисел
Дано натуральноечисло составить программу которая представляет данное число в виде суммы квадратов натуральных чисел содержащие минимальное...

Выяснить, можно ли представить данное число в виде суммы трех квадратов натуральных чисел
Дано натуральное число n. Можно ли представить его в виде суммы трех квадратов натуральных чисел? Если можно, то указать тройку x, y, z...

11
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,318
29.01.2021, 04:38
Лучший ответ Сообщение было отмечено Ellidan как решение

Решение

Ellidan,
Python
1
2
3
4
5
6
7
n = int(input())
i = 2
if n % i :
    for i in range(3, n + 1, 2) :
        if not n%i:
            break
print((i-1)*(n//i), n//i)
4
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
29.01.2021, 10:08
Gdez, попробуй на этом тесте: 982451653

P. S. Считает дольше минуты.
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,318
29.01.2021, 11:40
Arsegg, естественно - простые числа
Была задачка на поиск 1 000 000-го простого числа с лимитом 5 сек. Его значение, если не ошибаюсь - 12 с лишним миллионов
0
29.01.2021, 11:44

Не по теме:

Цитата Сообщение от Gdez Посмотреть сообщение
Была задачка на поиск 1 000 000-го простого числа с лимитом 5 сек. Его значение, если не ошибаюсь - 12 с лишним миллионов
Это ж изи)) Вернул константу - делов-то :D

0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,318
29.01.2021, 11:58
Arsegg, насчет кода - прав. Есть ошибка - не учитывает ввод простого числа
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
n = int(input())
i = 2
k = 0
if n % i :
    j = 3
    while j*j < n+1 :
        if not n%j:
            k = 1
            i = j
            break
        j += 2
else :
    k = 1
if k :
    print((i-1)*(n//i), n//i)
else :
    print(1, n-1)

Не по теме:

Константу для миллионного простого числа?

0
29.01.2021, 12:07

Не по теме:

Цитата Сообщение от Gdez Посмотреть сообщение
Константу для миллионного простого числа?
Это рофл. Don't take it too seriously...

0
0 / 0 / 0
Регистрация: 16.08.2020
Сообщений: 6
17.07.2022, 08:01
Gdez подскажите как вы поняли, что таким путём перебирая цикл вы не пропустите пару чисел с наибольшим НОД?
Python
1
2
3
for i in range(3, n + 1, 2) :
    if not n%i:
        break
Как доказать, что такой алгоритм корректен?
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,318
17.07.2022, 09:14
dredder_gun, алгоритм "раскладывает" число на два множителя -> n = p*k, где p - простое число.
Любое простое число при разложении на два слагаемых получает два взаимнопростых числа (11 -> 1+10; 2+9; 3+8; 4+7; 5+6) a+b.
В результате n = a*k + b*k и gcd (a*k, b*k) == k. Соответственно, чем меньше (a+b), тем больше k.
P.s. Второй код значительно быстрее -> О(sqrt(n)), в отличие от первого -> О(n)
1
0 / 0 / 0
Регистрация: 16.08.2020
Сообщений: 6
17.07.2022, 11:23
Цитата Сообщение от Gdez Посмотреть сообщение
алгоритм "раскладывает" число на два множителя -> n = p*k, где p - простое число.
А можете, пожалуйста, пояснить n = p*k это как в коде представлено? Получается, что k это i и в
Code
1
n % i
мы получаем простое число p?
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,318
17.07.2022, 11:31
dredder_gun, p это i, а k=n//i
1
0 / 0 / 0
Регистрация: 16.08.2020
Сообщений: 6
17.07.2022, 14:14
p это i, а k=n//i
А, то есть в цикле
Code
1
for i in range(3, n + 1, 2) :
подразумевается, что i не дойдёт до, нпрмр, числа 9, ведь оно составное?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.07.2022, 14:14
Помогаю со студенческими работами здесь

Определить, можно ли данное число представить в виде суммы двух простых чисел
Ваша задача - определить, можно ли представить данное число N в виде суммы двух простых чисел. Входные данные В единственной строке...

Даны натуральное число n. Среди чисел 1, 2, …, n найти все те, которые можно представить в виде суммы квадратов двух натуральных чисел
Даны натуральное число n. Среди чисел 1, 2, …, n найти все те, которые можно представить в виде суммы квадратов двух натуральных чисел.

Даны натуральное число n. Среди чисел 1, 2, …, n найти все те, которые можно представить в виде суммы квадратов двух натуральных чисел.
Собственно само задание. 5). Даны натуральное число n. Среди чисел 1, 2, …, n найти все те, которые можно представить в виде суммы...

Можно ли представить число в виде суммы квадратов двух натуральных чисел
n - натуральное. Можно ли представить его в виде суммы квадратов двух натуральных чисел? Указать пару натуральных чисел x,y таких, что...

Натуральное число m представить в виде суммы квадратов двух натуральных чисел
1)Натуральное число m представить в виде суммы квадратов двух натуральных чисел. Выдать сообщение, если такое представление невозможно.


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru