Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [С++] Самую большая сумма делителей одного элемена


Автор: RainCloud 8.12.2012, 14:02
Вводится размер вектора, состоящего из целых чисел, и его элементы. С этим вектором произвести указанные действия и вывести результаты.
Найти самую большую сумму делителей одного элемента.

Мое решение.

Код

#include <stdio.h>
int main(void)
{
    int i, j, s, k, max, h;
    int a[100];
    k=1;
    s=0;
    max=0;

    for (i = 0; i<=100; i++) 
    {
    a[i]=k;
    k++;    
    printf("%d ",a[i]);
    }
    
    printf("\n");
    for (i = 0; i<=100; i++) 
    {
        for (h = 1; h<=a[i]; h++)
        {
            if (a[i] % h == 0);
            s=s+h;
            
            if (max < s); 
            {    
                max=s;
                j=a[i];
            }    
        }
        s=0;
        
    }
    
    printf("Максимальная сумма делителей = %d \n", max);
    printf("У числа  = %d \n", j);
    return 0;
}

Программа зацикливается, не могу понять что не так. 
Заранее спасибо.

Автор: RainCloud 8.12.2012, 16:57
Додумался, сам иправил

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)