pascal算24!给出4个1到1000之间的整数,用这4个整数,通过+、–、*的运算而得到24,运算规则如下:1.每个
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/09/22 07:18:57
pascal算24!
给出4个1到1000之间的整数,用这4个整数,通过+、–、*的运算而得到24,运算规则如下:1.每个数必须使用一次,只能使用一次 2.运算符无优先级之分,自左向右计算.
例如:输入4个数为2 9 3 1
则计算方法为2+1*9-3=24
例如:输入:1 1 2 2 输入:4 4 4 4
输出:error 输出:4*4+4+4=24
输入
4个1到1000之间的整数
输出
若4个数不能产生出24,则输出error;若能产生,则输出产生式(若有多个,仅能输出一个).
样例输入
示例1:
5 7 4 9
示例2:
9 13 7 2
示例3:
5 1 3 5
示例4:
8 9 5 2
样例输出
示例1:
7-4*5+9=24
示例2:
9-7*13-2=24
示例3:
error
示例4:
8+9+5+2=24
procedure find(dep:longint);
var i:longint;
begin
if dep>4
then calcu
else for i:=1 to 4 do
if f[i]
then begin k[dep]:=a[i]; f[i]:=false; find(dep+1); f[i]:=true; end;
end;
begin
read(a[1],a[2],a[3],a[4]);
fillchar(f,sizeof(f),true);
find(1);
writeln('error');
end.
这是代码的后半部分,前半部分见下图
给出4个1到1000之间的整数,用这4个整数,通过+、–、*的运算而得到24,运算规则如下:1.每个数必须使用一次,只能使用一次 2.运算符无优先级之分,自左向右计算.
例如:输入4个数为2 9 3 1
则计算方法为2+1*9-3=24
例如:输入:1 1 2 2 输入:4 4 4 4
输出:error 输出:4*4+4+4=24
输入
4个1到1000之间的整数
输出
若4个数不能产生出24,则输出error;若能产生,则输出产生式(若有多个,仅能输出一个).
样例输入
示例1:
5 7 4 9
示例2:
9 13 7 2
示例3:
5 1 3 5
示例4:
8 9 5 2
样例输出
示例1:
7-4*5+9=24
示例2:
9-7*13-2=24
示例3:
error
示例4:
8+9+5+2=24
procedure find(dep:longint);
var i:longint;
begin
if dep>4
then calcu
else for i:=1 to 4 do
if f[i]
then begin k[dep]:=a[i]; f[i]:=false; find(dep+1); f[i]:=true; end;
end;
begin
read(a[1],a[2],a[3],a[4]);
fillchar(f,sizeof(f),true);
find(1);
writeln('error');
end.
这是代码的后半部分,前半部分见下图
const cha:array[1..3]of char=('+','-','*');
var a,c,d:array[1..4]of longint; b:array[1..4]of boolean;
procedure print;
var i:longint;
begin
write(c[1]);
for i:=1 to 3 do write(cha[d[i]],c[i+1]);
writeln('=24');
halt;
end;
procedure cal;
var i:longint; s:int64;
begin
s:=c[1];
for i:=1 to 3 do
case d[i] of
1:s:=s+c[i+1];
2:s:=s-c[i+1];
3:s:=s*c[i+1];
end;
if s=24 then print;
end;
procedure ch(dep:longint);
var i:longint;
begin
if dep>3
then cal
else for i:=1 to 3 do
begin
d[dep]:=i;
ch(dep+1);
end;
end;
procedure find(dep:longint);
var i:longint;
begin
if dep>4
then ch(1)
else for i:=1 to 4 do
if b[i]
then begin
b[i]:=false;
c[dep]:=a[i];
find(dep+1);
b[i]:=true;
end;
end;
begin
read(a[1],a[2],a[3],a[4]);
fillchar(b,sizeof(b),true);
find(1);
writeln('error');
end.
var a,c,d:array[1..4]of longint; b:array[1..4]of boolean;
procedure print;
var i:longint;
begin
write(c[1]);
for i:=1 to 3 do write(cha[d[i]],c[i+1]);
writeln('=24');
halt;
end;
procedure cal;
var i:longint; s:int64;
begin
s:=c[1];
for i:=1 to 3 do
case d[i] of
1:s:=s+c[i+1];
2:s:=s-c[i+1];
3:s:=s*c[i+1];
end;
if s=24 then print;
end;
procedure ch(dep:longint);
var i:longint;
begin
if dep>3
then cal
else for i:=1 to 3 do
begin
d[dep]:=i;
ch(dep+1);
end;
end;
procedure find(dep:longint);
var i:longint;
begin
if dep>4
then ch(1)
else for i:=1 to 4 do
if b[i]
then begin
b[i]:=false;
c[dep]:=a[i];
find(dep+1);
b[i]:=true;
end;
end;
begin
read(a[1],a[2],a[3],a[4]);
fillchar(b,sizeof(b),true);
find(1);
writeln('error');
end.
pascal算24!给出4个1到1000之间的整数,用这4个整数,通过+、–、*的运算而得到24,运算规则如下:1.每个
C语言程序 算24点输入任意4个1-10之间的整数,输出用加减乘除运算这4个数得到24的式子
任何取4个绝对值为1到13之间的整数,将这4个数(每个数只能用一次)进行有理数的混合运算,使其结果等于24.现有4个有理
现有4个有理数3,-5,7,-13.运用有理数的四则混合运算写出运算式,使其结果等于24,运算如下(每个数都用
"二十四点“游戏:将4个绝对值小于或等于13的整数进行加减乘除运算,每个数只能用一次,使其结果等于24
在7个4之间加上适当的运算符号 运算结果可以得到1984
怎样用4个8利用数学的运算得到24
电脑计算1000个字符的排列组合,是整数运算还是浮点运算?
玩24点游戏,规则如下:任取4个整数,将这4个数(每个数只用1次)进行加,减,乘,除,四则运算,使其结果为24
现玩24点游戏,规则如下;任取4个整数,将这4个数(每个数只用1次)进行+,-,x,/四则运算,使其结果为24
初一全品学练考答案:有一种“24点”的游戏,其游戏规则是这样的:任何取4个绝对值为1到13之间的整数,将这4个数(每个数
产生数 pascal内容:给出一个整数n(n≤2000)和m个变换规则(m≤15).规则:① 1个数字可以变换成另1个数