丰富 - 有缺陷的数字代码不显示结果

时间:2010-10-29 15:19:36

标签: c algorithm

我有这个代码来自我的教授,它是关于找到丰富和有缺陷的数字。如果除x本身之外的所有整数除数之和小于x,则数字x有效。如果它大于x,那么它是丰富的。 没有编译错误,似乎一切都很好,但它只是没有打印任何东西,它没有得到任何结果。为什么?怎么了?

#include <stdio.h>

int main(void)
{
        int x=1,y=1;
        int sum=0;
        while(x<100) 
        {
                while(y<x) 
                {
                        if(x%y==0) {
                                sum=sum+y;
                                y++;
                        }
                }
                x++;
                sum=0;
                y=1;
        }
        return 0;
}

如果你能在这里帮助我,我将非常感激,提前谢谢。

2 个答案:

答案 0 :(得分:7)

您的代码没有打印声明。您可能想要使用printf函数。

答案 1 :(得分:2)

问题在于:

        while(y<x) 
        {
                if(x%y==0) {
                        sum=sum+y;
                        y++;
                }
        }

每次迭代都应该推进Y:

            while(y<x) 
            {
                    if(x%y==0) {
                            sum=sum+y;
                    }
                    y++;
            }