鱼C论坛

 找回密码
 立即注册
查看: 9153|回复: 175

[每日一练] 算法1 ◉‿◉ {1,2,3,4}能组成多少个互不相同且无重复的三位数字?

  [复制链接]
发表于 2017-5-5 22:51:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 不二如是 于 2017-5-9 07:26 编辑

628e07ef36cc6382039eb184f606d547.png

按照提示,完成代码,秀秀你的编程能力!

不许看答案,否则打屁屁





程序分析:
可填在百位、十位、个位的数字都是 1 、 2 、 3 、 4 。

组成所有的排列后再去掉不满足条件的排列。





源代码:
游客,如果您要查看本帖隐藏内容请回复

效果图:
Snip20170505_12.png






如果喜欢,请订阅
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-5-5 23:00:20 | 显示全部楼层
我看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-6 11:56:33 | 显示全部楼层
最笨的办法就 一个个 迭代出来  ,然后去重复   看看 老哥您有什么好算法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-15 10:02:05 | 显示全部楼层
本帖最后由 shishunfu 于 2017-5-15 10:11 编辑

等我先去熟悉下js语法规则再来


先交一段java代码
  1. public static void main(String[] args) {
  2.                 int count = 0;
  3.                 for (int a = 1; a <= 4; a++) {
  4.                         for (int b = 1; b <= 4; b++) {
  5.                                 for (int c = 1; c <= 4; c++) {
  6.                                         if (a != b && a != c && b != c) {
  7.                                                 System.out.print(a + "" + b + "" + c+"\t");
  8.                                                 count++;
  9.                                                 if (count >= 5 && count % 5 == 0) {
  10.                                                         System.out.println();
  11.                                                 }
  12.                                         }
  13.                                 }
  14.                         }
  15.                 }
  16.                 System.out.println("符合规则的数据共有:"+count);
  17.         }
复制代码
test.png

点评

我很赞同!: 5.0
我很赞同!: 5
不限制语言!  发表于 2017-5-15 10:45

评分

参与人数 1鱼币 +6 收起 理由
不二如是 + 6 支持楼主!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-29 21:47:05 | 显示全部楼层
  1. #include "stdafx.h"
  2. #include <iostream>

  3. using namespace std;

  4. const int MAX = 4;

  5. int main()
  6. {
  7.          int count = 0;
  8.          for (int i = 1; i <= MAX; i++)
  9.          {
  10.                   for (int j = 1; j <= MAX; j++)
  11.                   {
  12.                            if (i == j)
  13.                                         continue;
  14.                            for (int k = 1; k <= MAX; k++)
  15.                            {
  16.                                         if (i == k || j == k)
  17.                                                  continue;               
  18.                                         cout << i << j << k << " ";
  19.                                         count++;
  20.                                         if (count % 5 == 0)
  21.                                                  cout << endl;
  22.                            }
  23.                   }
  24.          }
  25.          cout << endl;
  26.      return 0;
  27. }
复制代码


嗯...最近学了点点c++..那就用上一点吧..
2.png

点评

我很赞同!: 5.0
我很赞同!: 5
  发表于 2017-7-29 22:14

评分

参与人数 1鱼币 +6 收起 理由
不二如是 + 6 支持楼主!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-7 13:59:41 | 显示全部楼层
真的很不错哦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-7 14:31:55 | 显示全部楼层
用python的方法写了个答案
  1. temp = []
  2. for i in range(1,5):
  3.     for j in range(1,5):
  4.         for k in range(1,5):
  5.             if i == j or j == k or i == k:
  6.                 pass
  7.             else:
  8.                 temp.append(str(i)+str(j)+str(k))
  9.             
  10. print(temp)
  11. print('共'+ str(len(temp)) +'种排列')
复制代码



                               
登录/注册后可看大图
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-7 23:45:52 | 显示全部楼层
我看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-12 19:26:00 | 显示全部楼层
c++递归强答
  1. #include <cstdio>
  2. using namespace std;

  3. int s = 0;
  4. int a[3] = {0,0,0};

  5. bool in(int n)
  6. {
  7.         for (int i = 0; i < 3; ++i)
  8.         {
  9.                 if(a[i] == n)
  10.                         return true;
  11.         }
  12.         return false;
  13. }

  14. void work(int step)
  15. {
  16.         if(step >= 3)
  17.         {
  18.                 if(s>0 && s % 5 == 0)
  19.                         printf("\n");
  20.                 printf("%d%d%d ", a[0],a[1],a[2]);
  21.                 s++;
  22.                 return;
  23.         }
  24.         for (int i = 1; i <= 4; ++i)
  25.         {
  26.                 if(!in(i))
  27.                 {
  28.                         a[step] = i;
  29.                         work(step+1);
  30.                         a[step] = 0;
  31.                 }
  32.         }
  33. }

  34. int main()
  35. {
  36.         work(0);
  37.         printf("\n");

  38.         return 0;
  39. }
复制代码

点评

我很赞同!: 5.0
我很赞同!: 5
够猛。。。  发表于 2017-8-12 19:45

评分

参与人数 1鱼币 +5 收起 理由
不二如是 + 5 感谢楼主无私奉献!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-13 14:09:52 | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-8-17 18:22:32 | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-8-18 18:58:54 | 显示全部楼层

JavaScript

本帖最后由 心中的日月 于 2017-8-18 19:37 编辑
  1. for(i=1,count=0,str='';i<=4;i++){
  2.         for(j=1;j<=4;j++){
  3.                 if(i==j){continue;}
  4.                 for(k=1;k<=4;k++){
  5.                         if(i==k||j==k){continue;}
  6.                         count++;
  7.                         str+=100*i+10*j+k+'\t';
  8.                         if(count%5==0){str+='\n';}
  9.                 }
  10.         }
  11. }
  12. console.log(str);
复制代码

点评

我很赞同!: 5.0
我很赞同!: 5
  发表于 2017-9-11 08:46

评分

参与人数 1鱼币 +6 收起 理由
不二如是 + 6 棒!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-11 08:39:50 | 显示全部楼层
24个
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-9-18 21:03:57 | 显示全部楼层
学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-9-19 11:13:44 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-10-2 05:20:59 | 显示全部楼层
have a look
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-18 10:25:01 | 显示全部楼层
来看一下  真的有JS 了吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-26 10:57:21 | 显示全部楼层
我看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-15 09:06:43 | 显示全部楼层
学习一下,非常感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-5 21:48:43 | 显示全部楼层
24个.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-28 20:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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