用C++语言编一个程序,即求出1--100之内的完数,并写出它的所有因子。(用while语句)请各位高手指点。

2024-12-15 01:04:15
推荐回答(2个)
回答1:

#include
using namespace std;

int main( )
{
int n , temp , i , k , a[100] , sum ;
for( n = 1 ; n < 100 ; n ++ )
{
temp = n ;
k = 0 ;
sum = 0 ;
for( i = 1 ; i < n ; i ++ )
{
if( n % i == 0 )
{
a[k++] = i ;
sum += i ;
}
}
if( sum == n )
{
cout << n << endl ;
for( i = 0 ; i < k ; i ++ )
{
cout << a[i] << ' ' ;
}
cout << endl ;
}
}
return 0 ;
}

回答2:

#include
using namespace std;
int main()
{
int i,j,k,sum,s[100];
i = 2;
while(i<=100)
{
j = 1;
k = 0;
sum = 0;
while(j {
if( i % j == 0 ) {s[k++] = j ;sum += j;}
j++;
}
if(sum == i)
{
cout< for( j = 0 ; j < k ; j++)
{
cout< }
cout< }
i++;
}
return 0;
}
如果都要用while的话中间的for可以改成这样
if(sum == i)
{
cout< j = 0;
while(j {
cout< }
cout< }