精品文档
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(\} 精品文档