#include
long a=10000,b=0,c=2800,d,e,f[2801],g;
void main()
{
printf("%d",b);
for(;b!=c;)
{
f[b]=a/5;
b++;
}
for(;d=0,g=c*2 ; c-=14,printf("%.4d",e+d/a),e=d%a)
{
for(b=c;d+=f[b]*a,f[b]=d % (--g),d/=g--,--b;d*=b);
}
}
我们知道,在C语言中,for循环和while循环可以互相代替。
for(statement1;statement2;statement3){
statements;
}
上面的for语句可以用下面的while语句来代替:
statement1;
while(statement2){
statements;
statement3;
}
而且要写怪异的C程序,逗号运算符无疑是一个好的助手,它的作用是:
从左到右依次计算各个表达式的值,并且返回最右边表达式的值。
#include < stdio.h> /*1*/
/*2*/
long a=10000, b, c=2800, d, e, f[2801], g; /*3*/
main()
{ /*4*/
while(b-c!=0)
{ /*5*/
f[b]=a/5; /*6*/
b++; /*7*/
} /*8*/
d=0; /*9*/
g=c*2; /*10*/
while(g!=0)
{ /*11*/
b=c; /*12*/
d+=f[b]*a; /*13*/
f[b]=d%--g; /*14*/
d=d/g--; /*15*/
--b; /*16*/
while(b!=0)
{ /*17*/
d=d*b+f[b]*a; /*18*/
f[b]=d%--g; /*19*/
d=d/g--; /*20*/
--b; /*21*/
} /*22*/
c-=14; /*23*/
printf("%.4d",e+d/a); /*24*/
e=d%a; /*25*/
d=0; /*26*/
g=c*2; /*27*/
} /*28*/
} /*29*/
阅读(1061) | 评论(0) | 转发(0) |