pascal算24!给出4个1到1000之间的整数,用这4个整数,通过+、–、*的运算而得到24,运算规则如下:1.每个数必须使用一次,只能使用一次 2.运算符无优先级之分,自左向右计算.例如:输入4个数为2

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 14:19:06
pascal算24!给出4个1到1000之间的整数,用这4个整数,通过+、–、*的运算而得到24,运算规则如下:1.每个数必须使用一次,只能使用一次 2.运算符无优先级之分,自左向右计算.例如:输入4个数为2

pascal算24!给出4个1到1000之间的整数,用这4个整数,通过+、–、*的运算而得到24,运算规则如下:1.每个数必须使用一次,只能使用一次 2.运算符无优先级之分,自左向右计算.例如:输入4个数为2
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.
这是代码的后半部分,前半部分见下图

pascal算24!给出4个1到1000之间的整数,用这4个整数,通过+、–、*的运算而得到24,运算规则如下:1.每个数必须使用一次,只能使用一次 2.运算符无优先级之分,自左向右计算.例如:输入4个数为2
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.

pascal 由文件给出N个1到30000间无序正整数,其中1 pascal算24!给出4个1到1000之间的整数,用这4个整数,通过+、–、*的运算而得到24,运算规则如下:1.每个数必须使用一次,只能使用一次 2.运算符无优先级之分,自左向右计算.例如:输入4个数为2 Free Pascal怎样产生从1到1000的100个随机数rt 数字平方和 pascal给出一个自然数N(1 free pascal四位数排列 任给出4个非0的不同数字,求出由这4个数字组成的所有的4位数. 怎么用Pascal来计算0到100中4的倍数的总和?请给出3种答案,好的还可能加悬赏, 整数分解(版本2) pascal一个正整数可以分解成若干个自然数之和.请你编一个程序,对于给出的一个正整数n(1 pascal问题:【暴力】三角形个数Description 给出n个1到10000之间的整数,以它们为边长(每个数最多选一次)能组成多少个不全等的三角形?1b[i])and(ij)and(jk)and(ik) then inc(x); writeln(x); end. ======== 帮我做一道简单的编程题目(pascal)给出一列数:[(1*1)/2008],[(2*2)/2008],[(3*3)/2008],[(4*4)/2008]…[(n*n)/2008],给出n,要你求出这列数中不同的个数有多少个.(n 大大多的题目(PASCAL语言)1.给出一个自然数N(1 pascal:明明的随机数明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的 (pascal简单题目明明的随机数描述 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一个 分解因式pascal一个自然数N的正因子个数记为F(N),例如18的所有正因子为1、2、3、6、9、18,所以F(18)=6.现在给出K,求所有满足F(N)=K的N中最小的数.要求pascal语言完成.Input 第一行n,表示有n个数据,1我 pascal 输入n(1 pascal 输入n(1 给出一个整数n,接下来有n个整数,你要求出这n个整数中的最大值.用pascal做 给出一个数列4,7,10,13,16,19,22...,问这个数列的第n项是什么?pascal 计算1901年到2099年之间的某月某日是星期几有没人能针对这个问题给出完整的pascal程序以及详细的解释呀?