|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- main()
- {int i,j,k,m,n=0;
- for(i=1;i<=10;i++) /*列举4个1到9之间的数的所有排列,供选择*/
- for(j=1;j<=10;j++)
- for(k=1;k<=10;k++)
- for(m=1;m<=10;m++)
- {if(i==j||i==k||i==m||j==k||j==m||k==m) continue;
- if(i+j+k+m!=12)continue; /*不满足条件,舍弃*/
- n++; /*满足条件的排列计数*/
- printf("{%d,%d,%d,%d,}",i,j,k,m);
- if(n%6==0)printf("\n"); /*每行输出6个排列*/
- }
- }
复制代码
运行结果:{1,2,3,6} {1,2,4,5} {1,2,5,4} {1,2,6,3}...... 结果在这不一一列举了
问题:代码中共循环了9^4=6561次,然后后面它说每次循环判断8次,共8*9^4=5488次判断,这个判断次数我不知道怎么得出来的,8次判断分别是哪些?for语句的表达式2是控制条件语句,4个for语句,然后花括号里的3个if语句,在我的理解看来是7个判断。
3个if语句,第一个是6个判断,总共8个,话说研究这个有意义吗
|
|