程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
/*/view/ef0a2946aa00b52acec7ca42.html?from=search*/ #include
#include
#include
//以下函数求一个整数的所有因子的和。
intyinzihe(int n)
{
inti,r=0;
for(i=1;i<=n/2;i++)
if(n%i==0)
r+=i;
return r;
} //以上函数求一个整数的所有因子的和。
void wqs(int n)//输出完全数
{
inti,k=0;
for(i=1;i { if(yinzihe(i)==i) { printf("%d ",i); k++; if(k%5==0) printf("\n"); } } printf("\n"); } void qms(int n)//输出亲密数 { inti,k=0; for(i=2;i { if(i==yinzihe(yinzihe(i))) { printf("[%d,%d] ",i,yinzihe(i) ); k++; if(k%5==0) printf("\n"); } } printf("\n"); }//以下输出水仙花数 intggsh(inti)//求个个位上的数字的三次方的和. inta,t=0; while(i!=0) { a=i%10; t+=a*a*a; i=i/10; } return t; } void sxhs(int n)//输出水仙花数 { inti,k=0,a=0,t=0; for(i=100;i { t=ggsh(i); if(i==t) { printf("%d ",t); k++; if(k%5==0) printf("\n"); } } printf("\n"); }//以上输出水仙花数 //以下输出阶乘和数 intjc(inti)//求阶乘 { int t=1; for(int j=1;j<=i;j++) t*=j; return t; } intjch(inti)//求个个位上数值的阶乘和{ int a=0,t=0; while(i!=0) { a=jc(i%10); t+=a; i=i/10; } return t; void jchs(int n)//输出阶乘和数 { inti,k=0,a=0,t=0; for(i=1;i { t=jch(i); if(i==t) { printf("%d ",t); k++; if(k%5==0) printf("\n"); } } printf("\n"); }//以上输出阶乘和数 int A(inti) { int j=0; returni; } //以下输出自守数 int mm(inti)//求i的位数(若i=1234,则返回1000) { int j=1; while(j<=i) j*=10; return j; } void zss(int n)//输出自守数 { inti,k=0; for(i=1;i<=n;i++) { if((i*i)%mm(i)==i) { printf("%d ",i); k++; if(k%5==0) printf("\n"); } } printf("\n"); } //以上输出自守数 void lsss(int n)//输出孪生素数 { ints,k,m=0; for(inti=1;i+2<=n;i++ ) { s=1; k=i/2; /* 先假设i是素数*/ for(int j=2;j<=k;j++ ) { if(i%j == 0 ) { s=0; /* i不是素数*/ break; } } if(s!=0) { k=(i+2)/2; for(int j=2;j<=k;j++) { if((i+2)%j==0) { s=0; /* i+2不是素数*/ break; } } if(s!=0) { printf( "[%d,%d] ",i, i+2); m++; if(m%5==0) printf("\n"); } } } printf("\n"); } void main() { intn,i; srand((unsigned)time(NULL)); n=rand(); printf("请输入n:%d\n",n);