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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Джон
0 / 0 / 0
Регистрация: 06.03.2012
Сообщений: 40
#1

По заданному числу определить наименьшую сумму его делителей - C++

06.03.2012, 21:45. Просмотров 666. Ответов 4
Метки нет (Все метки)

Есть у нас число. Допустим 12. Оно является НОК чисел 6 и 4, а также 6 4 1, 6 4 1 3 и т.д. Задача состоит в том, что нужно вывести НАИМЕНЬШУЮ сумму делителей этого числа, для которых оно кратное. Такими для 12 есть пара чисел 3 и 4. В сумме дают 7. Разумеется, чем меньше делителей кратного числа будет, тем меньше сумма. Так что скорее всего это должна быть сумма двух чисел. Нужно реализовать это на С++. Есть идеи? У меня 0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.03.2012, 21:45     По заданному числу определить наименьшую сумму его делителей
Посмотрите здесь:

По заданному натуральному числу определить количество цифр в нём и их сумму - C++
ПЛЗ,помогите:help: Написать и протестировать функцию, которая по заданному натуральному числу определяет количество цифр в нём и их...

вывести на экран только те числа на отрезке [a,b], у которых кол-во делителей равно заданному числу - C++
это нужно сделать с помощью функции,которая для заданного числа N возвращает значение true-если число простое.false-если число составное. ...

Вывести на экран только те целые числа отрезка [a, b], у которых сумма делителей равна заданному числу - C++
Ребята выручайте, Разработать функцию, которая для заданного натурального числа N возвращает сумму его делителей. С помощью данной...

По заданному числу n вычислить минимальную сумму чисел - C++
Нужно по заданному числу n вычислить МИНИМАЛЬНУЮ сумму чисел, для которых n - наименьшее общее кратное. Бьюсь уже третий день над ней....

Найти элемент массива, равный заданному числу Х и отпечатать его индекс - C++
Задан массив чисел А,упорядоченный по возрастанию по строкам и столбцам, т.е. А < А < ... < А (при всех I), А < A < ... < А (при всех J)....

Найти элемент массива, равный заданному числу Х и отпечатать его индексы (I,J) - C++
Находила аналогичные примеры, но ничего не получилось.

Найти сумму натуральных чисел, предшествующих заданному числу a - C++
Найти сумму натуральных чисел, предшествующих заданному числу a.

Посчитать сумму всех элементов, кратных заданному числу - C++
Дан массив a из n целых чисел. Требуется посчитать сумму всех элементов, кратных заданному числу x.

Найти сумму всех элементов, кратных заданному числу - C++
Здравствуйте много уважаемые форумчане!!!Помогите решить задачу на языке С++ ..... Дан массив целых чисел. Найти сумму всех элементов,...

Найти сумму элементов, кратных удвоенному заданному числу - C++
1-Заполнить массив из 12 элементов (случайным образом) вещественными числами в диапозоне от (-50,50). Найти сумму элементов, кратных...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
07.03.2012, 04:05     По заданному числу определить наименьшую сумму его делителей #2
Цитата Сообщение от Джон Посмотреть сообщение
Задача состоит в том, что нужно вывести НАИМЕНЬШУЮ сумму делителей этого числа, для которых оно кратное. Такими для 12 есть пара чисел 3 и 4. В сумме дают 7.
Если задача именно в этом, то это неправильно:
Цитата Сообщение от Джон Посмотреть сообщение
Разумеется, чем меньше делителей кратного числа будет, тем меньше сумма. Так что скорее всего это должна быть сумма двух чисел.
Разложим число на простые множители. Например у нас получилось такое разложение:
2*2*2*2*3*3*5
Если заменить 2*3 на 6, то сумма возрастет на 1. Если заменить 3*5 на 15, то сумма возрастет на 7.
Сумма останется прежней только в случае замены 2*2 на 4. Поэтому вывод:
Разложив число на простые множители, получим самую наименьшую сумму.
12=2*2*3 в сумме дают 7
Джон
0 / 0 / 0
Регистрация: 06.03.2012
Сообщений: 40
07.03.2012, 13:14  [ТС]     По заданному числу определить наименьшую сумму его делителей #3
Вы не правы, поскольку числа 3 и 4 НЕЛЬЗЯ разложить, как 2,2,3, потому что тогда для этих чисел кратным уже будет не 12, а 6, что противоречит условию задачи. Кстати, вот и онаhttp://www.e-olimp.com.ua/problems/1246
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
07.03.2012, 13:32     По заданному числу определить наименьшую сумму его делителей #4
Цитата Сообщение от Джон Посмотреть сообщение
Вы не правы
да я всегда не прав.

Цитата Сообщение от Джон Посмотреть сообщение
Задача состоит в том, что нужно вывести НАИМЕНЬШУЮ сумму делителей этого числа, для которых оно кратное.
было бы понятнее (и правильнее) так:
Задача состоит в том, что нужно вывести НАИМЕНЬШУЮ сумму чисел, для которых оно является наименьшим общим кратным.
Джон
0 / 0 / 0
Регистрация: 06.03.2012
Сообщений: 40
07.03.2012, 13:53  [ТС]     По заданному числу определить наименьшую сумму его делителей #5
Ну я написал функцию, она выводит последовательно делители числа. Допустим 12 - выводит 2 2 3. 30 - выводит 2 3 5. То есть их сумма - это и есть то что мне надо. Можете только помочь исправить мне код, что бы выводило сумму. И еще если я задаю 5 или 3, то что бы выводило не просто 5 или 3, а 6 и 4 соответственно. В общем чтобы для простых чисел выводил то же число +1.
Вот код. Вод эта задача (если я не ясно объяснил) http://www.e-olimp.com.ua/problems/1246
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <cmath>
using namespace std;
void getdevidors(int n); 
int main(){
int a = 0; 
while(1) {
cin >> a; //Ввод
if (a==0) break; 
cout <<""; getdevidors(a); 
}
return 0;} 
    
void getdevidors(int n)
{ 
int i;  
double sqrt_of_n; 
sqrt_of_n=sqrt(double(n));   
for(i=2; i<=sqrt_of_n; i++) 
if (n%i==0){ cout << i<<", ";  
getdevidors(n/i);
return;}  cout << n<<endl;    
}
Yandex
Объявления
07.03.2012, 13:53     По заданному числу определить наименьшую сумму его делителей
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru