//改进一下,还有请在VC下编译,TC通不过,不支持这么多重循 环!!!!!!!!!!!!!
1.十个嵌套循环;
2.每个循环取出一个奇数;
3.把这十个数相加;和为36,则打印出来。
===========================================
#include <stdio.h>
#include <stdlib.h>
void CalMeth()
{
int nRe = 0;
int i,j,k,l,m,n,o,p,q,u ;
for (i=1;i<28;i=i+2) //get all jishu in 36
{
for (j=1;j<28;j=j+2)
for (k=1;k<28;k+=2)
for (l=1;l<28;l+=2)
for (m=1;m<28;m+=2)
for (n=1;n<28;n+=2)
for (o=1;o<28;o+=2)
for (p=1;p<28;p+=2)
for (q=1;q<28;q+=2)
for (u=1;u<28;u+=2)
{
nRe = i+j+k+l+m+n+o+p+q+u;
if (nRe==36)
printf("%d,%d,%d,%d,%d,%d,%d,%d,%d,%d \n",i,j,k,l,m,n,o,p,q,u);
}
}
最易于明白的方法:
1.十个嵌套循环;
2.每个循环取出一个奇数;
3.把这十个数相加;和为36,则打印出来。
===========================================
#include <stdio.h>
#include <stdlib.h>
void CalMeth()
{
int nRe = 0;
int i,j,k,l,m,n,o,p,q,u ;
for (i=1;i<36;i=i+2) //get all jishu in 36
{
for (j=i;j<36;j=j+2)
for (k=j;k<36;k+=2)
for (l=k;l<36;l+=2)
for (m=l;m<36;m+=2)
for (n=m;n<36;n+=2)
for (o=n;o<36;o+=2)
for (p=o;p<36;p+=2)
for (q=p;q<36;q+=2)
for (u=q;u<36;u+=2)
{
nRe = i+j+k+l+m+n+o+p+q+u;
if (nRe==36)
printf("%d,%d,%d,%d,%d,%d,%d,%d,%d,%d \n",i,j,k,l,m,n,o,p,q,u);
}
}
}
int main(int argc, char* argv[])
CalMeth();
return 0;
}