Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Разбить N на более простые числа, в сумме дающие это N - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Шашки http://www.cyberforum.ru/cpp/thread32350.html
Вкратце опишу суть проблемы. Препод задал лабу делать что-то на подобии шашек. Только само задание состоит в том что, на доске появляется рандомное кол-во шашек на рандомных клетках. Пользователю...
C++ Рандомное перемещение картинок(подробно) У меня задача сделать игру Парные картинки. У меня есть зарание раставленые 24 картинки тобишь (12х2). Мне надо, чтобы они все перемешались в рандомном порядке но раставились по координатам уже... http://www.cyberforum.ru/cpp/thread31526.html
Borland C++ 5.5 LINE TOOLS C++
Привет всем! У меня только 1 вопрос КАК ВВОДИТЬ команды в Borland C++ 5.5 LINE TOOLS простите, закалибался уже ей богу...
Program received signal SIGSEGV, Segmentation fault C++
Когда запускаю дебагер: gdb ./preci Вюдает следуще. Я не могу понять с чем это могет быть связано. Код: GNU gdb 6.4.90-debian Copyright (C) 2006 Free Software Foundation, Inc. GDB is free...
C++ Какой библиотеки не хватает для работы функции sound() http://www.cyberforum.ru/cpp/thread30865.html
#include<conio.h> // какой библиотеки нехватает, чтобы интерпретатор не указывал ошибку на sound void interrupt (*SvInt09)(void); /* старый обработчик */ void interrupt NewInt09(void) {...
C++ Debug Assertion Failed во время работы программы вылазиет вот такая ошибка что это такое и как с этим бороться? подскажите пожалста! подробнее

Показать сообщение отдельно
Fraerrrrr
Сообщений: n/a

Разбить N на более простые числа, в сумме дающие это N - C++

06.05.2009, 15:39. Просмотров 1079. Ответов 4
Метки (Все метки)

Нашел я как-то в одной книге задачу. До сих пор бьюсь над ее решением. Может кто подскажет программу для ее решения (на Visual C++,либо на VBA либо на Паскале))). Вот текст задачи (на первый взгляд, ничего схожего с программированием):

Парламент состоит из N делегатов. Делегаты должны разделиться на группы (фракции); кол-во депутатов в каждой группе должно отличаться от кол-ва депутатов в любой другой группе. Каждый день каждая фракция посылает одного представителя в некий президиум. Парламент начинает работать в том случае, когда состав президиума отличен от составов президиумов предыдущих дней.
Составить программу, которая бы определяла оптимальное число фракций и кол-во делегатов в каждой из них так, чтобы парламент мог работать как можно дольше. Рассчитанные значения кол-ва делегатов в каждой фракции, сортированные по возрастанию, вывести в выходном текстовом файле.

Короче говоря, нужно разбить N на более простые числа, в сумме дающие это N. Причем начинать надо с двух элементов, рассмотрев все возможные варианты (например, если N=9, то: а=2, b=7 или a=3, b=6, или a=4, b=5). В каждом случае надо найти их наименьшее общее кратное (т.е. НОК(2,7)=14, НОК(3,6)=6, НОК(4,5)=20) и выбрать наибольшее. Точно такую-же операцию надо выполнить для трех элементов, четырех и т.д. В результате должна получиться комбинация чисел в сумме дающее N и имеющее наибольшее наименьшее общее кратное(!простите за тавтологию!). Вот два примера:
N=7: 3 4
N=31: 2 3 5 6 7 8
Низкий поклон тому, кто сможет воплотить это задание в жизнь.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru