#include <iostream>
int main()
{
int x,m,sum;
sum=0;
for(x=2;x<=1000;x++)
for(m=1;m<x;m++)
{
{
if(x%m==0)
sum+=m;
}
if(x==sum)
std::cout<<x<<std::endl;
}
return 0;
}
运行后出现了一堆496,没有6和28的答案呀
追答我又改了一下,你再重新复制试试
追问。。。似乎还是不对
追答6
28
496
哪里不对?
#include
int main()
{
int x,m,sum;
for(x=2;x<=1000;x++)
{
sum=0;//sum清零应该在这里
for(m=1;m<x;m++)
{
if(x%m==0)
sum+=m;
}
if(x==sum)
std::cout<<x<<std::endl;
}
return 0;
}
你复制这个试试
抱歉抱歉,程序对了,刚才是我多添了一对大括号
追答上面那个人只是把我的程序复制了一遍,你就选了他的,遇到你们这种只能算我倒霉
追问这个,我也只能说,相当抱歉啦,你就多多包涵吧
来自:求助得到的回答求1000以内的完数,c++程序,这个程序哪里错了?
int main(){ int x,m,sum;sum=0;for(x=2;x<=1000;x++){ sum=0;for(m=1;m<x;m++){ if(x%m==0)sum+=m;} if(x==sum)std::cout<<x<<std::endl;} return 0;} 这个应该能行,你试试
求出1000以内所以有的完数 c++ 大神们看看我的程序哪里错了
两个错误 1)每次计算完sum的时候,要将sum清零;2)在判断sum与m是否相等的时候,‘==’写成了赋值操作符‘=’;正确程序如下:include<iostream>using namespace std;int main(){ int m,k; int sum=0; for(m=2;m<=1000;m++) { for(k=1;k<=m\/2;k++) if(m%k...
C++求1000以内的完数,哪出错了?!!!
完数的真因子,不包括自己本身。所以j
C++程序 要求输出1000以内的完数
if(n\/i-int(n\/i)==0)错了。1、if(n\/i-int(n\/i)==0)这个改为if(n%i == 0)2、找到一个完数以后,没有把s初始化为0,所以后面肯定会出错。在n=n+1;后面加s=0。C++不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。
C++ 求1000之内的完数 这个哪里错了?
100];cout<<"1000以内的完数有:"<<endl;for (i=1;i<=1000;i++){ int e = 0,b = 0;for (j=1;j<i;j++){ if (i%j==0){ c[e]=j;b=b+j;e++;} } if (b == i){ cout<<i<<" : ";for (j=0;j<e;j++){ cout<<c[j]<<" ";} cout<<endl;} } } ...
求c++1000以内完数 请问一下 我的程序哪里错了 谢谢了。
include<iostream> using namespace std;int main(){ int n,a,b;b=0;for(n=2;n<=1000;n++){ for(a=1;a<n-1;a++){ if(n%a==0)b=b+a;} if(b==n)cout<<n<<endl;b=0;} return 0;} 这样就好。
C++ 输出一千以内所有“完数”(即一个数等于其因子之和,如6=1+2+3...
include<iostream>using namespace std;int main(){ int n, i, s=0; for (n = 6; n <= 1000; n++) { s=0;\/\/清零 for (i = 1; i < n; i++) { if (n%i == 0) { s = s + i; } } if (n == s) ...
用来输出1000之内的完数的程序,看下我错在哪了怎么老输不出
h> main(){ int n = 0, i, j;for(i = 1; i <= 1000; i++) { n = 0; \/\/每算一个新的i,n都要清零.for(j = 1; j < i; j++) {if(i % j == 0) n = n + j;} if(n == i) printf("%d\\n", i);} return 0;} 程序运行结果:6 28 496 ...
c++求1000以内完数的算法,不知道我哪里错了,什么都没有输出,求大神
把两个for(i=0;i<n;i++)循环中的i<n都改成i<n-1……
C++求编程求1000之内的所有完数。已有编程,求详细解析,小白完全看不...
while(n<=1000)\/\/循环一千次 { sum=0;i=1;while(i<n)\/\/每次和自身比较,直到i不小于n,即i==n结束循环 { if(n%i==0)\/\/求因子 sum=sum+i;\/\/所有因子求和 i++;} if(i==sum)\/\/当i==n,满足完数,即执行下一条语句 cout<<i<<endl;\/\/打印完数i n++;\/\/每次执行+1 } return...