问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

100高分求一组合函数或算法,最好是JS的.DELPHI或其他语言也可.

发布网友 发布时间:2022-05-15 22:01

我来回答

2个回答

热心网友 时间:2022-05-15 23:30

//Delphi:

function Combination(source :string; len :Integer):string;
var
rsl,sl,tsl :TStringList;
i :Integer;
s,t :string;
begin
sl := TStringList.Create;
rsl := TStringList.Create;
try
while source[1] = ',' do
source := Copy(source, 2, Length(source) - 1);
while source[Length(source)] = ',' do
source := Copy(source, 1, Length(source) - 1);
sl.Delimiter := ',';
sl.DelimitedText := source;
if sl.Count < len then
begin
Result := '原数据长度小于组合个数' + #13 + '原数据分隔符只能为英文输入法的逗号","';
Exit;
end;
if len = 1 then
begin
for i := 0 to sl.Count - 1 do
Result := Result + sl.Strings[i] + '|';
end
else
begin
while sl.Count >= len do
begin
tsl := TStringList.Create;
try
tsl.Assign(sl);
while tsl.Count >= len do
begin
t := '';
s := '';
for i := 0 to len - 2 do
t := t + tsl.Strings[i] + ',';
for i := len - 1 to tsl.Count - 1 do
s := s + t + tsl.Strings[i] + '|';
rsl.Add(s);
if len > 2 then
tsl.Delete(1)
else
tsl.Clear;
end;
finally
FreeAndNil(tsl);
end;
sl.Delete(0);
end;
Result := rsl.Text;
end;
finally
FreeAndNil(rsl);
FreeAndNil(sl);
end;
end;

//调用
ShowMessage(Combination('1,2,3,4,5,6,7', 2));
ShowMessage(Combination('1,2,3,4,5', 3));
ShowMessage(Combination('1,2,3,4,5', 4));

热心网友 时间:2022-05-16 00:48

做彩票的组合计算的吧 以前做过,没有找到代码
提供下这个算法的方案
就是 m选n 的组合了
首先 定义一个 m的 一维数组 前n 个为 1 后面的为0
比如 楼主的 5选3
则 构造的这个数组 为
1 1 1 0 0
这是第一个组合可能 取当前数组为1的地方对应的原始数组中值得到 123

然后这个数组基础上面 遍历一遍 两个规则
1、碰到 第一个 10变成01
2、在变化之前,将变化位置之前的所有的1移动到最前面
直到最后没有碰到10为止

如下:
11 10 0 ->123
11 01 0 -> 124 第二个

1 10 10
1 01 10 ->134

10 110
01 110 ->234

011 10
110 01 -> 125 (注意第二条规则 前面要移动)
10101 ->135
01101 ->235
10011->145
01011->245
00111->345 结束!

5选3的组合 应该是 4*5/2=10 个 貌似楼主的少了一个 对一下,我刚以为我推算错了

封装个函数,想几选几都可以的。
GetResult(s,n)
{
m=s.length();
sc=new int[m]{0};
for(int i=0;i<n;i++) //前n个为1
{
sc[i]=1;
}

//.............后面的自己写了 就是来个if sc[j]=1 sc[j+1]=0 然后改变下数组 改变完了再遍历一遍从源中取数字出来就是一个组合了
}
编程语言有哪几种,详细介绍一下这些语言

(1)Pascal语言结构严谨,可以很好地培养一个人的编程思想。 (2)Delphi是一门真正的面向对象的开发工具,并且是完全的可视化。 (3)Delphi使用了真编译,可以让你的代码编译成为可执行的文件,而且编译速度非常快。 (4)Delphi具有强大的数据库开发能力,可以让你轻松地开发数据库。 缺点 Delphi几乎可以说是完美的,...

vlookup 的用法

VLOOKUP是Excel中用于垂直查找的函数,其基本用法包括四个参数:1. 查找值:即在数据表首列中需要搜索的值。2. 数据表:包含查找值的单元格区域或数组。3. 返回值所在列数:指定返回查询区域中第几列的值。4. 查找方式:选择精确匹配(FALSE)或近似匹配(TRUE),前者要求完全匹配,后者则返回最接近且不大于查找值的项。VLOOKUP能够精确查找与大致匹配数据,并跨列提取相关信息,是数据处理中非常实用的工具。Excel一键自动匹配,在线免费vlookup工具,3步完成!Excel在线免费vlookup工具,点击4步自动完成vlookup匹配,无需手写公式,免费使用!

编程语言有几种,分别都是编什么程序的?

高级语言主要是相对于汇编语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,如目前流行的VB、VC、FoxPro、Delphi等,这些语言的语法、命令格式都各不相同。 高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行,按转换方式可将它们分为两类: 解释类:执行方式类似于我们日常生活中的“同声...

高级语言排行

排名第一的Java仍然是具有独孤求败的势头,Java继续统治着程序员最常用的语言列表。以致于我们观察榜单上面的数据,可以发现,Java这一年在GitHub中共获得230万pull request,竟然是第二名的编程语言Python的两倍有余。8、PHP PHP语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域...

程序设计中的指令是什么?有哪几种?

方案二 Pascal语言 &amp; Delphi 优点 (1)Pascal语言结构严谨,可以很好地培养一个人的编程思想。 (2)Delphi是一门真正的面向对象的开发工具,并且是完全的可视化。 (3)Delphi使用了真编译,可以让你的代码编译成为可执行的文件,而且编译速度非常快。 (4)Delphi具有强大的数据库开发能力,可以让你轻松地开发数据库。

学编程到底是学C语言、C++、VB、jave中的哪种比较好?

VisualC++好,还是学Borland C++ Builder好呢?或者就是要求在Visual Basic和Delphi之间作出选择。学习程序设计和学习程序设计语言究竟是怎么一个关系?初学者究竟应该如何取舍呢?就此我们打个简单的比方:学习程序设计就好比学习射击,而程序设计语言就对应射击中的气枪、手枪、步枪等各种枪械。学习射击必须要选择一种枪械,不...

什么编程软件比较好?比较容易入门

2、Python Python对初学者来说也是一个入门级编程语言。Python可用于Web开发的应用程序和桌面应用程序,这种动态语言支持OOP编程、过程式编程和函数式编程。另外,它是开源语言,这意味着它可以免费入手,有着相当活跃的社区。Joel Lee细述了为何Python很有用。3、TotalCommander 简称TC文件管理器,一款功能...

java最好用的编辑器(java最好用的编辑器排名)

JCR或者叫做JCodeReview也是一个基于WEB介面的最初设计给ReivewJava语言的一个工具。当然,现在,它可以被用于其它的非Java的程式码。JCR主要想协助:审查者。所有的程式码更改都会被高亮,以及大多数语言的语法高亮。Codeextracts可以显示程式码评审意见。如果你正在ReviewJava的程式码,你可以点选程式码中的类名来检视相关...

java之父头发(java之父是谁)

2000年,安德尔思海斯博格,就是发明pascal语言的那个人,borland的创始人之一,神话般的人物,他一个人做了这些pascalobjectpascaldelphivj++c#.netframework 安德斯·海尔斯伯格Delphi和.NET之父:安德斯·海尔斯(AndersHejlsberg) 安德斯·海尔斯伯格(AndersHejlsberg,1960.11~),丹麦人,TurboPascal编译器的主要作者,Delphi和...

计算机软件开发学习路线是什么?

6)java支持绝大多数脚本语言,你能叫得上名字的脚本语言,几乎都可以在jvm上执行,比如常见的js,ruby,python,甚至php,lua,只不过除了js以外你需要找到相关的脚本引擎。7)spring的版权被控制在vmware手里,其实spring的那一大堆东西,本质上是一个非标准的jee实现,比如在jee里面用的inject,在spring里面就是autowire,当然...

什么是编程,编程主要用来干什么

编程(biān chéng)是编定程序的中文简称,就是让计算机代为解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。为了使计算机能够理解人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人...

求函数定义域的方法 组合数算法 c组合公式的计算方法 组合算法公式 组合计算方法 排列组合算法 排列组合公式算法详解 LEN函数 求和函数
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
什么树最旺盛最长寿 索尼的E口镜头是什么意思? 傅里叶红外光谱仪主要特点 国考自动化属于哪一类 我想买—辆车,需要有7至8个座位的并能省油,最好是MPV或SUV的,排量在1.5... ...| 红外光谱FT-IR详解知识点汇总 内含中心测试实例 8座suv有哪些选择?老婆说想买个7座or8座的SUV。 牙齿不好怕跟男朋友接吻又味道该怎么办 接吻碰牙齿怎么办? 牙黄无朋友吗 我想变成荷叶,把句子写具体应该怎么写 照样子,写句子。荷叶对青蛙说:‘我是夏天。‘’ 翻译一句文献格式说明 深堀隆介的个人履历 问Black and white line art 是指什么图 荷叶仿写句子 Lineart coloring by silvase的中文意思 选择优化 LINE ART 256 后就会变色,什么原因 投稿要求里面说的line art是指什么图 什么是line art 云南省的党员关系是否都属于云南省国资委党委管辖? 云南国资物业管理有限公司怎么样? 云南国资水泥昆明有限公司怎么样? 国资委转股云投是利好还是利空 云南省国资委是一个什么样的部门 儿童文学 选萃2008第一期目录 何曾蓄笔砚的读音 激烈的踩气球比赛 吃过晚饭,我们正在教室里看电视。这时,罗老师拎着一袋气球,拿着一捆塑料带进来了。 女主叫林双的重生文 求陆游巢山(二)的解析和写作背景 iwilltakeatrip写出同义句 I will take one和I will take them有什么区别? take anap是什么意思 iwill take them thank you.回答 iwilltakethem反译中文 我中午通常会睡觉!或者织围巾!或者刺绣!用英语怎么说 帮忙翻译一段话~ doyoutakeanap? 小米自由桌面如何下载 安装??? 夏天里有哪些爱好? (用英语表示 小米2自由桌面怎么下载到手机上 紫色瓶子的精油洗发水叫丝什么 急需一段简单(高一程度)的英语对话,要求2~3人3~5分钟 新能源车企为何纷纷找国网合作? 用study English listen to music watch TV take a nap eat a snack do my homewo写短文 iwilltakeuhome是什么意思? 有关梦想、决心、方法的英语短文 国家电网新源公司正式员工和国网的待遇差别很大吗? 小米2的自由桌面到哪下载?就是这张 ill take it变一般疑问句