精品文档
q=Q(m,n); printf(\ printf(\}
编程题4
编程输出2到10000之间的所有完数。所谓完数是指因子之和与它本身相等的数。如6=1+2+3,6是一个完数。
要求:定义函数 factor(m) 判断m是否为完数;由主函数调用它,来对所有2到10000之间的所有数进行判断。 #include 
int i,s=0; …… }
void main() {
int i,m,sum; …… } 答:
#include  void main() {     int i,m,sum;  m=10000;  for(i=2;i<=m;i++)  {   sum=factor(i); 精品文档  精品文档       }   if(sum>0)  {   printf(\ } }  printf(\ 3.较难编程题  编程题1 用函数调用实现求两个数的最大公因子和最小公倍数 答:  #include  int g(int x,int y,int z) {  int i;  i=x*y/z;  return i; }   void main() {  int a,b,c,d;  scanf(\ c=f(a,b);  d=g(a,b,c);  printf(\最大公因子:%d\\n\ printf(\最小公倍数:%d\\n\}  编程题2 用递归方法求1+2+3+...+n并将其中素数去除后之和。 精品文档  精品文档  #include  int isprime (int number)    {   …… }  long fact(int n)     {   …… }  void main() {     int m,sum;   …… }  答:  #include  int isprime (int number)    {  int i;  for(i=2;i long fact(int n)     {  long result,a;   if(n==1)   result=1;   else   {  精品文档  精品文档    a=isprime(n);    result=a+fact(n-1);  }   return result; }   void main() {     int m,sum;   scanf(\  sum=fact(m);   printf(\}   精品文档