飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 5178|回复: 4

如何列出0-9的所有组合?

[复制链接]
  • TA的每日心情
    开心
    2022-7-9 18:18
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    发表于 2007-4-26 08:16:12 | 显示全部楼层 |阅读模式
    如何列出0-9的0-9位的所有组合?

    [ 本帖最后由 笨鸟我先飞 于 2007-4-26 08:30 编辑 ]
    PYG19周年生日快乐!
  • TA的每日心情
    难过
    2024-4-22 14:49
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    发表于 2007-4-26 15:43:33 | 显示全部楼层
    /:012 /:012
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-4-29 00:19:49 | 显示全部楼层
    旋转法或公式法。
    PYG19周年生日快乐!
  • TA的每日心情
    擦汗
    2020-7-7 10:06
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2007-4-30 08:57:36 | 显示全部楼层
    最简单的方法是:从0数到999999999^_^
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-5-1 21:23:49 | 显示全部楼层
    #include<studio.h>
    main()
    {
         int i;
         int j;
         int k;
         char a[10];
         for(i=0,i<10,i++)
          {
              a[0]=i;
               for(j=1,j<10,j++)
                    {
                         for(k=1,k<10,k++)
                             {
                                 a[k]=(a[0]+j)%10;
                              }
                          for(k=0,k<10,k++)
                           printf(a[k]);
                     }
           }

      }

    我自己想的一个算法.你可以试一下!

    睡了一觉发现上面那个算法完全错了,而且错的离谱。

    这里说一下我想的另外一个算法。

    首先,0-9十个数十位不重复组合,其最小数应该是:0123456789

    然后开始循环加一,循环的终止点就是这个数字编程十一位之前。

    所以每次生成完数字后都要先判断是不是十一位,如果是九位在输出的时候自动在前面加零

    然后开始循环取对10余,判断每一位的数字是否有重复的,当然在取余后再除以10取商以备下次循环

    当该数字每一位没有重复数字,而且小于11位时就输出

    这样循环到最后0-9十个数十位不重复组合就全部取得了。

    [ 本帖最后由 网际座山雕 于 2007-5-2 02:46 编辑 ]
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表