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几乎可以说是完美的,...
编程语言有几种,分别都是编什么程序的?
高级语言主要是相对于汇编语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,如目前流行的VB、VC、FoxPro、Delphi等,这些语言的语法、命令格式都各不相同。 高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行,按转换方式可将它们分为两类: 解释类:执行方式类似于我们日常生活中的“同声...
高级语言排行
排名第一的Java仍然是具有独孤求败的势头,Java继续统治着程序员最常用的语言列表。以致于我们观察榜单上面的数据,可以发现,Java这一年在GitHub中共获得230万pull request,竟然是第二名的编程语言Python的两倍有余。8、PHP PHP语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域...
程序设计中的指令是什么?有哪几种?
方案二 Pascal语言 & 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)是编定程序的中文简称,就是让计算机代为解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。为了使计算机能够理解人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人...