注册 登录
编程论坛 C++教室

求助:求完全数

keil99 发布于 2008-09-20 10:37, 644 次点击
谢谢个位高手了  我想了半天是在想不出为什么得不到要的答案


#include<iostream>
#include<math.h>
int main()
{
    int m,i,k,p=2,l;
    int abc();
   while(p<=100&&abc(1))
    {m=2^p-1;
    k=sqrt(m);
    for(i=2;i<=k;i++)
    if(m%i==0)break;
   
    if(i>k)
    {l=m*(2^(p-1));
     printf("%d",l);
    system("pause");
           }
           }
           p++;
   

    }
   
int abc(int p)
{
    int j,m;
    m=sqrt(p);
    for(j=0;i<=m;j++)
    if(p%j==0)break;
    if(j>m)
    return(1);
    }
1 回复
#2
守鹤2008-09-20 14:06
不知你写的这个程序要做什么呀,语法错误也有些。

定义的abc()函数中 for(j=0;i<=m;j++)应该是 for(j=0;j<=m;j++),同时若j<=m时,那也应该有返回值,故还应加上 else return (返回值);

while(p<=100&&abc(1))中l的值是多少啊,是系统随即给定的值吗
1