Задачку решил на 1С, на Си лень переводить))) )
Функция СуммаДелителей (ии)
сс = 0;
Для кк = 2 По Цел (Sqrt(ии) ) Цикл
Если Цел (ии/кк) = ии/кк Тогда
сс = сс + кк;
Сообщить ("делитель = "+кк) ;
сс2 = СуммаДелителей (ии/кк) ;
Если сс2 = 0 Тогда
сс = сс+ (ии/кк) ;
Сообщить ("делитель = "+(ии/кк)) ;
Иначе
сс = сс+ сс2;
КонецЕсли;
Прервать;
КонецЕсли;
КонецЦикла;
Возврат сс;
КонецФункции
Процедура КнопкаВыполнитьНажатие (Кнопка)
// Вставить содержимое обработчика.
//нужна полная прога на си для задачи. найти натуральное число от1 до 10000 с максимальной суммой делителеи.
ии = 1;
сМакс = 0;
Для ии = 1 По 10000 Цикл
Сообщить ("ии = "+ии) ;
сс = СуммаДелителей (ии) ;
Сообщить ("сумма = "+сс) ;
Если сс > сМакс Тогда
сМакс = сс;
КонецЕсли;
КонецЦикла;
Сообщить ("максимальная сумма = " + сМакс) ;
КонецПроцедуры
==========
а вот последние строчки вывода и ответ:
....
....
ии = 9 995
делитель = 5
делитель = 1 999
сумма = 2 004
ии = 9 996
делитель = 2
делитель = 2
делитель = 3
делитель = 7
делитель = 7
делитель = 17
сумма = 38
ии = 9 997
делитель = 13
делитель = 769
сумма = 782
ии = 9 998
делитель = 2
делитель = 4 999
сумма = 5 001
ии = 9 999
делитель = 3
делитель = 3
делитель = 11
делитель = 101
сумма = 118
ии = 10 000
делитель = 2
делитель = 2
делитель = 2
делитель = 2
делитель = 5
делитель = 5
делитель = 5
делитель = 5
сумма = 28
максимальная сумма = 5 001
Другие языки программирования и технологии
нужна полная прога на си для задачи. найти натуральное число от1 до 10000 с максимальной суммой делителеи.
int i,i2;
int x=0, max=0, maxn;
for (i=1;i<1000;i++)
{
for (i2=1;i2<i;>max) max=x;
maxn=i;
x=0;
}
cout << "число с максимальным колчисеством делителей " << maxn << " делителей " << max;
int x=0, max=0, maxn;
for (i=1;i<1000;i++)
{
for (i2=1;i2<i;>max) max=x;
maxn=i;
x=0;
}
cout << "число с максимальным колчисеством делителей " << maxn << " делителей " << max;
Нужна НАПИШИ Ничего сложного в этом нет!
Похожие вопросы
- как решить через abc pascal задачу "Дано натуральное число n. Получить все простые делители этого числа"
- задача "найти пары чисел"
- Программисты! Помогите пожалуйста! Нужно на паскале написать код к следующей задаче: Даны натуральные числа a, b, c
- Дано натуральное число п. Найти знакочередующуюся сумму цифр числа n:
- Найти число Фибоначчи, ближайшее к заданному натуральному числу N. (программирование в языке Си)
- 1. Получить сумму двух длинных натуральных чисел.
- Паскаль. Представить натуральное число n в виде суммы трёх квадратов натуральных чисел.
- Требуется найти минимальное натуральное число с суммой цифр 123, которое делится на 1237 кто знаетпомогите алгоритмом!
- Разработайте программу, которая заполняет двумерный массив натуральными числами по спирали. Максимальное число N задается.
- Решите задачу! Дано целое число n найдите сумму 1^n +2^n-1 + 3^n-2 ...+n^1