JAVA小程序,高数帮忙看有什么错误,求完数
public class 完数
{
public static void main(String[] args)
{
int i;
int n;
int m;
int sum=0;
for(n=1;n<=1000;n++)
{
for(i=1;i<n;i++) //求出n的因子之和sum;
{
m=n%i;
if(m==0)
{
sum=sum+i;
}
}
if(sum==n) //判断sum是否等于n,若相等则是输出完数
{
System.out.println(n+"是完数");
}
}
}
}
[解决办法]
sum 每遍历一次要记得还原...
int i; int n; int m; int sum = 0; for (n = 1; n <= 1000; n++) { for (i = 1; i < n; i++) // 求出n的因子之和sum; { m = n % i; if (m == 0) { sum = sum + i; } } if (sum == n) // 判断sum是否等于n,若相等则是输出完数 { System.out.println(n + "是完数"); } sum = 0; } }