当前位置:主页>销售管理软件> 列表

一个小学三年级的题目,你能作出来吗? 找财务软件永久免费版

财务软件版1楼: 昨天一位同事的孩子问了我一个小学三年级的数学题,可是我想了半天还是没能想出来,不知各位大哥能否做出来
1至9九个数字中,选则四个数字乘以一个一位数,等于另一个四位数,要求数字不能重复,
[][][][]*[]=[][][][]

2楼: 这些数字对他们小孩来说应该是死记住的:)

解题思路应该是先列出所有可能的组合,
ABCD*E=FGHI
通过AB*E=FX就可以列出一些可能的组合了(不能产生进位,最高位不能有重复数字等等
然后再漫漫验证[:D] 如管家婆软件下载

3楼: 嗯,我上小学三年级的时候会这种题,不过现在不会做了,老啦![8D]

4楼: 上小学的时候做起来全靠试,感觉没什么意义

5楼: 有答案么?应该没有吧

6楼: unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Label1: TLabel;
Label2: TLabel;
Button1: TButton;
Memo1: TMemo;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
isStop:boolean;
function Calculate(var n1,n2,n3:String):boolean;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

function TForm1.Calculate(var n1,n2,n3:String):boolean;
var
a,b,c,d,e,i:integer;
s1,s2,s3,s4,s5:string;
isRepeat:boolean;
begin
result:=false;
if isStop then exit;
for a:=1 to 9 do //1
begin
s1:= inttostr(a); //char(a+48);
for b:=1 to 9 do //2
begin
s1:=copy(s1,1,1);
if pos(inttostr(b),s1) <> 0 then
continue
else
s1:=s1+inttostr(b);
for c:= 1 to 9 do //3
begin
s1:=copy(s1,1,2);
if pos(inttostr(c),s1) <> 0 then


continue
else
s1:=s1+inttostr(c);
for d:=1 to 9 do //4
begin
s1:=copy(s1,1,3);
if pos(inttostr(d),s1) <> 0 then
continue
else
s1:=s1+inttostr(d);
for e:=1 to 9 do //5
begin
if pos(inttostr(e),s1) <> 0 then
continue
else s2:=inttostr(e);
s3:=inttostr(strtoint(s1)*strtoint(s2));
if length(s3)<> 4 then continue;
isRepeat:=false;
memo1.Lines.Add(s1+'' * ''+s2+'' = ''+s3);
s4:=s1+s2+s3;
for i := 1 to 9 do //检查是否重复
begin
s5 := copy(s4,1,i-1)+copy(s4,i+1,9);
if (pos(s4[i],s5)>0) or (pos(''0'',s4)>0) then
begin
isRepeat:= true;
break;
end;
end;
if isRepeat then
continue //e
else
begin
n1:=s1;
n2:=s2;
n3:=s3;
Result:=true;
exit;
end;
if isStop then exit;
end;
end;
end;
end;
end
end;
procedure TForm1.Button1Click(Sender: TObject);
var
v1,v2,v3:string;
begin
isStop:=false;
memo1.Lines.Clear;
v1:='''';
v2:='''';
v3:='''';
if Calculate(v1,v2,v3) then
begin
Edit1.Text :=v1;
Edit2.Text :=v2;
Edit3.Text :=v3;
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
isStop:=true;
end;

end.
答案是:1738*4=6952

财务软件版7楼: 简单,用程序算一下几秒钟的时间:1738*4=6952

8楼: 程序:
procedure TForm1.Button1Click(Sender: TObject);
var
M:array[0..9] of word;
a:integer;
b:integer;


c:integer;
d:integer;
e:integer;
f:integer;
g:integer;
h:integer;
i:integer;
j:integer;
k:integer;
begin
M[1]:=1;
M[2]:=2;
M[3]:=3;
M[4]:=4;
M[5]:=5;
M[6]:=6;
M[7]:=7;
M[8]:=8;
M[9]:=9;
for a:=1 to 9 do
begin
edit1.Text:=IntToStr(M[a]);
for b:=1 to 9 do
begin
edit2.Text:=IntToStr(M[b]);
if b=a then continue;
for c:=1 to 9 do
begin
edit3.Text:=IntToStr(M[c]);
if (c=a) or (c=b) then continue;
for d:=1 to 9 do
begin
edit4.Text:=IntToStr(M[d]);
if (d=a) or (d=b) or (d=c) then continue;
for e:=1 to 9 do
begin
edit5.Text:=IntToStr(M[e]);
if (e=a) or (e=b) or (e=c) or (e=d) then continue;
for f:=1 to 9 do
begin
edit6.Text:=IntToStr(M[f]);
if (f=a) or (f=b) or (f=c) or (f=d) or (f=e) then continue;
for g:=1 to 9 do


begin
edit7.Text:=IntToStr(M[g]);
if (g=a) or (g=b) or (g=c) or (g=d) or (g=e) or (g=f) then continue;
for h:=1 to 9 do
begin
edit8.Text:=IntToStr(M[h]);
if (h=a) or (h=b) or (h=c) or (h=d) or (h=e) or (h=f) or (h=g) then continue;
for i:=1 to 9 do
begin
edit9.Text:=IntToStr(M[i]);
if (i=a) or (i=b) or (i=c) or (i=d) or (i=e) or (i=f) or (i=g) or (i=h) then continue;
if StrToInt(edit1.Text+edit2.Text+edit3.Text+edit4.Text)*StrToInt(edit5.text)=
StrToInt(edit6.Text+edit7.Text+edit8.Text+edit9.Text) then
exit;
end;
end;
end;
end;
end;
end;
end;
end;
end;
end;

end.

9楼: 郁闷啊,调试的过程中Delphi死过一次,一个上午干的活全白忙呼了....

10楼: 答案不是唯一的,1738*4=6952//


1963*4=7852。

11楼: 1548 *2 =3096

1845 *2 =3690

3079 *2 =6158

3485 *2 =6970

3548 *2 =7096

3845 *2 =7690

4518 *2 =9036

4538 *2 =9076

4685 *2 =9370

4815 *2 =9630

4835 *2 =9670

4853 *2 =9706

4865 *2 =9730

1609 *3 =4827

1694 *3 =5082

1809 *3 =5427

1908 *3 =5724

2058 *3 =6174

1738 *4 =6952

1809 *4 =7236

1908 *4 =7632

1963 *4 =7852

2039 *4 =8156

2079 *4 =8316

1278 *5 =6390

1384 *5 =6920

1846 *5 =9230

1864 *5 =9320

1872 *5 =9360

1309 *6 =7854

1209 *7 =8463

12楼: 新年好
非常感谢weichao9999和formality两位老兄。
非常抱歉formality老兄,让你一上午白忙活了![:)] 如财务软件永久免费版

13楼: 高 实在是 高

财务软件版14楼: 1738 *4 =6952

1963 *4 =7852

忘了0了 :)