有朋友能帮忙转化成DELPHI的代码吗?
var nowcards:Array = [10,10,6,3,1]//其中J,Q,K已经转换为10function testNN(targetcards:Array){ var tmp1:Boolean = false var tmp2:Boolean = false //tmp1记录是否有3张组成10 //tmp2记录是否是“牛牛” for(var a=0;a<=2;a++){ for(var b=a+1;b<=3;b++){ for(var c=b+1;c<=4;c++){ if((targetcards[a]+targetcards[b]+targetcards[c])%10 == 0){ tmp1 = true var tmp3:Number = 0 //tmp3是暂时保存数据用的 for(var j=0;j<=4;j++){ if(j != a && j != b && j != c){ tmp3+= targetcards[j] } } if(tmp3%10 == 0){ tmp2 = true } } } } } //此函数运算到这,tmp2和tmp1已经记录了牌是否是“牛牛”和是否有3张加和是10倍数 //return部分未写出,可以看着办-_-}
var nowcards:Array = [10,10,6,3,1]//其中J,Q,K已经转换为10function testNN(targetcards:Array){ var tmp1:Boolean = false var tmp2:Boolean = false //tmp1记录是否有3张组成10 //tmp2记录是否是“牛牛” for(var a=0;a<=2;a++){ for(var b=a+1;b<=3;b++){ for(var c=b+1;c<=4;c++){ if((targetcards[a]+targetcards[b]+targetcards[c])%10 == 0){ tmp1 = true var tmp3:Number = 0 //tmp3是暂时保存数据用的 for(var j=0;j<=4;j++){ if(j != a && j != b && j != c){ tmp3+= targetcards[j] } } if(tmp3%10 == 0){ tmp2 = true } } } } } //此函数运算到这,tmp2和tmp1已经记录了牌是否是“牛牛”和是否有3张加和是10倍数 //return部分未写出,可以看着办-_-}
解决方案 »
- AdvStringGrid如何连接sqllite数据库中的数据?
- dbgrideh的显示问题
- 唉,挂了近一个星期,居然无人问津!
- SOS!!!客户端出现“尚未调用CoInitialize”错误,
- 例程代码运行时,出现动态连接库和内存地址读取错误,帮帮菜鸟?
- 弱弱的问,为什么我的控件栏里没有QReport和Dicision Cube页面?
- 一个错误
- vcl/bde支持unicode 吗?
- 请解我忧,网络数据库的问题
- 两个字符转码的问题,有源代码,20~30行,100分。如果今天能拿到答案,再加100分。热心的高手请来看看。
- 关于非技术分?
- DELPHI动态添加图片至FASTREPORT报表中,如何添加!
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}var
nowcards: array[0..4] of integer = (10, 10, 6, 3, 1);function testNN(targetcards: array of integer): integer;
var
tmp1: boolean;
tmp2: boolean;
tmp3: integer;
a, b, c: integer;
i, j : integer;
begin
for a := 0 to 2 do
for b := a + 1 to 3 do
for c := b + 1 to 4 do
if (targetcards[a] + targetcards[b] + targetcards[c]) div 10 = 0 then
begin
tmp1 := True;
for j := 0 to 4 do
if (j <> a) and (j<> b) and (j <> c) then
tmp3 := tmp3 + targetcards[j]
end;
if (tmp3 div 10) = 0 then
tmp2 := True;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
testNN(nowcards);
end;end.不知何为牛牛算法!
tmp2 := True;这里要改成
if (tmp3 mod 10) = 0 then
tmp2 := True;
nowcards: array[0..4] of integer = (10, 10, 6, 3, 1);function testNN(targetcards: array of integer): integer;
var
tmp1: boolean;
tmp2: boolean;
tmp3: integer;
a, b, c: integer;
i, j : integer;
begin
result:=-1;
for a := 0 to 2 do
for b := a + 1 to 3 do
for c := b + 1 to 4 do
if (targetcards[a] + targetcards[b] + targetcards[c]) mod 10 = 0 then
begin
tmp1 := True;
for j := 0 to 4 do
if (j <> a) and (j<> b) and (j <> c) then
tmp3 := tmp3 + targetcards[j]
end;
if (tmp3 mod 10) = 0 then
tmp2 := True;
//以下返回输出
//result:=需要返回的结果
end;