#include<stdio.h>
int divide(int n);
int N;//表示n的数量,全局变量
int test=1;//表示该整数,且必须为全局变量
int main()
{
printf("Input n(1<n<=5):\n");
int n,d;
scanf("%d",&n);
N=n;
test+=N;
while(divide(n)==0||divide(n)==1||divide(n)==2||divide(n)==3||divide(n)==4)
{
test+=N; //每次以N增长 ,以保证第一个数字符合标准
}
d=divide(n);
printf("%d",d);
return 0;
}
int divide(int n)
{
double s,o;
if(n==1)
{
return test;
}
else
{
if(n==2)
{
o=(1.0*N*divide(n-1)/(N-1)+1);//注意,1.0必须写在括号里面,不然不会自动转换
if(o==(int)o)
return N*divide(n-1)/(N-1)+1;
else
return 0;
}
else{
s=1.0*N*divide(n-1)/(N-1)+1;
if(s==(int)s)
return N*divide(n-1)/(N-1)+1;
else
return 0;
}
}
}
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交