[Hdu1342] Lotto
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1342
题目大意:输出6--13从小到大个数,然后按顺序输出6个数,输出所有种可能。
解题思路:这题难度不是太大就是有一点输出问题,就是每两个样例之间的输出一个换行,但当你输出0让它结束又不能有换行。我的做法是:使用六个for循环(因为就6到13个数不会超时的,这题肯定有更简单的做法,但是我不会其他方法,所以我的思路仅供参考)我把数存到数组中,然后通过下表经行输出,我又定义一个t,就解决了换行问题了,大家看代码就会明白的!!!!
题目代码:
#include<stdio.h> int main() { int n,i,a,b,c,d,e,f,s[100],t=1; while(scanf("%d",&n)&&n) { if(t==0) printf("\n"); for(i=0;i<n;i++) scanf("%d",&s[i]); for(a=0;a<n;a++) for(b=a+1;b<n;b++) for(c=b+1;c<n;c++) for(d=c+1;d<n;d++) for(e=d+1;e<n;e++) for(f=e+1;f<n;f++) printf("%d %d %d %d %d %d\n",s[a],s[b],s[c],s[d],s[e],s[f]); t=0; } return 0; }