算法1 ◉‿◉ {1,2,3,4}能组成多少个互不相同且无重复的三位数字?
本帖最后由 不二如是 于 2017-5-9 07:26 编辑按照提示,完成代码,秀秀你的编程能力!
不许看答案,否则打屁屁
程序分析:
可填在百位、十位、个位的数字都是 1 、 2 、 3 、 4 。
组成所有的排列后再去掉不满足条件的排列。
源代码:
**** Hidden Message *****
效果图:
○面试题索引贴●
如果喜欢,请订阅{:10_303:} :
HTML5 - 庖丁解牛 + JavaScript - 庖丁解牛
我看看{:10_256:} 最笨的办法就 一个个 迭代出来,然后去重复 看看 老哥您有什么好算法{:10_269:} 本帖最后由 shishunfu 于 2017-5-15 10:11 编辑
等我先去熟悉下js语法规则再来{:10_277:}
先交一段java代码
public static void main(String[] args) {
int count = 0;
for (int a = 1; a <= 4; a++) {
for (int b = 1; b <= 4; b++) {
for (int c = 1; c <= 4; c++) {
if (a != b && a != c && b != c) {
System.out.print(a + "" + b + "" + c+"\t");
count++;
if (count >= 5 && count % 5 == 0) {
System.out.println();
}
}
}
}
}
System.out.println("符合规则的数据共有:"+count);
} #include "stdafx.h"
#include <iostream>
using namespace std;
const int MAX = 4;
int main()
{
int count = 0;
for (int i = 1; i <= MAX; i++)
{
for (int j = 1; j <= MAX; j++)
{
if (i == j)
continue;
for (int k = 1; k <= MAX; k++)
{
if (i == k || j == k)
continue;
cout << i << j << k << " ";
count++;
if (count % 5 == 0)
cout << endl;
}
}
}
cout << endl;
return 0;
}
嗯...最近学了点点c++..那就用上一点吧..
真的很不错哦 用python的方法写了个答案{:10_279:}
temp = []
for i in range(1,5):
for j in range(1,5):
for k in range(1,5):
if i == j or j == k or i == k:
pass
else:
temp.append(str(i)+str(j)+str(k))
print(temp)
print('共'+ str(len(temp)) +'种排列')
http://xxx.fishc.com/album/201708/07/142922kbc3lp8ecpi7838d.png 我看看 c++递归强答
#include <cstdio>
using namespace std;
int s = 0;
int a = {0,0,0};
bool in(int n)
{
for (int i = 0; i < 3; ++i)
{
if(a == n)
return true;
}
return false;
}
void work(int step)
{
if(step >= 3)
{
if(s>0 && s % 5 == 0)
printf("\n");
printf("%d%d%d ", a,a,a);
s++;
return;
}
for (int i = 1; i <= 4; ++i)
{
if(!in(i))
{
a = i;
work(step+1);
a = 0;
}
}
}
int main()
{
work(0);
printf("\n");
return 0;
} 看看 看看
JavaScript
本帖最后由 心中的日月 于 2017-8-18 19:37 编辑for(i=1,count=0,str='';i<=4;i++){
for(j=1;j<=4;j++){
if(i==j){continue;}
for(k=1;k<=4;k++){
if(i==k||j==k){continue;}
count++;
str+=100*i+10*j+k+'\t';
if(count%5==0){str+='\n';}
}
}
}
console.log(str); 24个 学习 1 have a look 来看一下真的有JS 了吗 我看看 学习一下,非常感谢 24个.