求一个排列算法
时间: 2019-03-21来源:博客园
前景提要
求一个排列算法
1 悬赏园豆: 10 [待解决问题] 已知:1、2、3、4、5五个字符进行组合,组合中每个字符仅用1次。排除不同顺序出现的组合,如123组合后排除231、321的可能。
求一个算法:当组合后的字符串为N位(1~5)时有多少组合的可能性? 碧海清天 | 初学一级 | 园豆: 156
提问于:2019-03-21 09:35 我试了下可以1到9多少位都可以用这个计算,条件不同就改下参数 – 一曲相思 1年前 显示帮助
使用"Ctrl+Enter"可进行快捷提交,评论支持部分 Markdown 语法:[link](http://example.com) _italic_ **bold** `code`。
< > 分享
分享您的问题
所有回答(3) 0 这不就是组合的公式吗?5X4X...X(5-N+1)/N! 会长 | 园豆:8398 (大侠五级) | 2019-03-21 09:53 编辑文本 预览 上传图片
Ctrl+Enter键快速提交 0 统计学里面的C51, C52 ,C53 C54 延伸为 抓球问题,袋子里有5个不同的球,小明要抓两个球
非常简陋版,没有做边缘判断 using System; namespace SortFactorialSample { class Program { static void Main(string[] args) { Console.WriteLine(GetTopValue(5, 3) / Factorial(3)); } public static int GetTopValue(int end, int top) { int sum = 1; for (int i = 0; i < top; ++i) { sum = sum * end; end--; } return sum; } public static int Factorial(int num) { if (num == 1) return 1; else return num * Factorial(num - 1); } } } BUTTERAPPLE | 园豆:2950 (老鸟四级) | 2019-03-21 12:26 编辑文本 预览 上传图片
Ctrl+Enter键快速提交 0 package com.test;
public class test01 {
public static void main(String[] args) {
int number=5;//1到number
int num=0; //记录每个数字出现的次数
int nums=0; //生成的数字总量
int number1=3;
//计算每个数字出现的次数
for(int i=number1-1;i<number;i++){
num+=(number-i);
}
System.out.println("每个数字现现次数"+num);
nums=num*number/number1;
System.out.println("总共可生成"+nums+"个不重复数字");
}
} 一世红尘 | 园豆:321 (菜鸟二级) | 2019-03-21 16:00 编辑文本 预览 上传图片
Ctrl+Enter键快速提交
清除回答草稿
您需要 登录 以后才能回答,未注册用户请先 注册 。

科技资讯:

科技学院:

科技百科:

科技书籍:

网站大全:

软件大全:

热门排行