如何列出0-9的所有组合?
如何列出0-9的0-9位的所有组合?[ 本帖最后由 笨鸟我先飞 于 2007-4-26 08:30 编辑 ] /:012 /:012 旋转法或公式法。 最简单的方法是:从0数到999999999^_^ #include<studio.h>
main()
{
int i;
int j;
int k;
char a;
for(i=0,i<10,i++)
{
a=i;
for(j=1,j<10,j++)
{
for(k=1,k<10,k++)
{
a=(a+j)%10;
}
for(k=0,k<10,k++)
printf(a);
}
}
}
我自己想的一个算法.你可以试一下!
睡了一觉发现上面那个算法完全错了,而且错的离谱。
这里说一下我想的另外一个算法。
首先,0-9十个数十位不重复组合,其最小数应该是:0123456789
然后开始循环加一,循环的终止点就是这个数字编程十一位之前。
所以每次生成完数字后都要先判断是不是十一位,如果是九位在输出的时候自动在前面加零
然后开始循环取对10余,判断每一位的数字是否有重复的,当然在取余后再除以10取商以备下次循环
当该数字每一位没有重复数字,而且小于11位时就输出
这样循环到最后0-9十个数十位不重复组合就全部取得了。
[ 本帖最后由 网际座山雕 于 2007-5-2 02:46 编辑 ]
页:
[1]