Страница 1 из 1
Наибольшие делители числа из файла
Добавлено: 18 фев 2010, 14:28
Nikitos)))
Задача передо мной поставлена такая:
Найти 4 наибольших делителей введенного из файла числа и их сумму. Операцию оформить в виде функции, которая a качестве параметра получает имя файла, а возвращает найденную сумму, пожалуйста, срочно надо...
Re: Срочно помогите)))
Добавлено: 18 фев 2010, 14:57
rrrFer
что неполучается?
Re: Срочно помогите)))
Добавлено: 18 фев 2010, 16:10
Romeo
Если будешь делать сам с нашей помощью, то говори что конкретно не получается.
Если хочешь, чтобы за тебя полностью сделали, то дай знать и я перенесу в "Решите мне задачку".
P.S. Я поправил название темы. В который раз напоминаю, что заголовок темы должен быть информативным. Темы, не удовлетворяющие этому условию, могут быть удалены без предупреждения на основании правил, которые пользователь подписывает во время регистрации.
Re: НОД для чисел из файла
Добавлено: 18 фев 2010, 19:25
Nikitos)))
Не пойму одного, как найти 4 наибольших делителя числа, так все понятно...
Re: НОД для чисел из файла
Добавлено: 18 фев 2010, 19:27
Nikitos)))
И меня интересует не сам код, а алгоритм нахождения...
Re: НОД для чисел из файла
Добавлено: 18 фев 2010, 19:56
rrrFer
Код: Выделить всё
for(k=2,n=a,kol=0;k<=n&&kol<4;k++)
if(!(a%k)){
kol++;
n=a/k;
cout<<n<<" ";
}
непроверял код. Если интересует алгоритм то можно написать в раздел алгоритмов, но не "С и С++"
в заголовке написали НОД - почему делители общие если число одно?
Re: Наибольшие делители числа из файла
Добавлено: 18 фев 2010, 22:31
Romeo
rrrFer писал(а):
в заголовке написали НОД - почему делители общие если число одно?
Исправлено.
Re: НОД для чисел из файла
Добавлено: 19 фев 2010, 12:25
Albor
Nikitos))) писал(а):И меня интересует не сам код, а алгоритм нахождения...
По-моему, быстрее искать таким образом: делим исходное число на 2, затем на 3 и т. д., проверяя остаток от деления и пока не наберём 4 числа. Очевидно, что самым большим делителем будет само число, значит нужно искать всего 3 делителя.
PS rrrFer так и сделал, не обратил внимания сразу.

Re: Наибольшие делители числа из файла
Добавлено: 22 фев 2010, 03:00
rrrFer
Код: Выделить всё
int main(){
int k,kol,a;
cin>>a;
for(k=1,kol=0;k<=a&&kol<3;k++)
if(!(a%k)){
kol++;
cout<<a/k<<" ";
}
return 0;
}
ошибка там была