作业帮 > 综合 > 作业

PASCAL程序设计问题

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/05/02 23:19:49
PASCAL程序设计问题
1、设计一个分数累加程序,把每次输入的数累加,当输入-1时结束程序的运行
2、求π的近似值
1)用π/4=1-1/3+1/5-1、7+.级数求π的近似值(取前5000项来进行计算)
2)用π/4=1-1/3+1/5-1、7+.级数求π的近似值.当最后一项的绝对值小于10-5时停止运算
3、分解质因数,如输入6输出6=2*3
4、输入一个十进制数n,输出相应的r进制数
5、输入分子和分母,输出化简后的分子和分母
6、求所有1000——9999之间的完全平方数
7、有数三三取之余二,五五取之余三,七七取之余二,问数集合?
PASCAL程序设计问题
1
var
s,n:longint;
begin
n:=0;
s:=0;
while n-1 do
begin
readln(n);
s:=s+n;
end;
s:=s+1;
writeln(s);
readln;
end.
2
1)
var
pi:real;
i:longint;
begin
pi:=0;
for i:=1 to 5000 do
begin
if i mod 2=0 then pi:=pi-1/(2*i-1)
else pi:=pi+1/(2*i-1);
end;
pi:=pi*4;
writeln(pi:0:5);
readln;
end.
2)
var
pi:real;
i:longint;
begin
pi:=0;
i:=1;
while 1/(2*i-1)>=0.00001 do
begin
if i mod 2=0 then pi:=pi-1/(2*i-1)
else pi:=pi+1/(2*i-1);
inc(i);
end;
pi:=pi*4;
writeln(pi:0:5);
readln;
end.
3(与原要求略有不同)
var
n,k:longint;
p:boolean;
begin
readln(n);
k:=n-1;
write(n,'=');
p:=true;
while k>1 do
begin
if n mod k=0 then
while n mod k=0 do
begin
p:=false;
write(k,'*');
n:=n div k;
end;
dec(k);
end;
if p then write(n)
else write(chr(8),' ');
readln;
end.
4
var
n,p,i,r:integer;
a:array [1..100] of integer;
begin
readln(n);
readln(r); //不知r从何而来,就设了个输入
write('( ',n,' )10 = ( ');
p:=0;
while n>0 do
begin
inc(p);
a[p]:=n mod r;
n:=n div r;
end;
for i:=p downto 1 do write(a[i]);
writeln(' )',r);
readln;
end.
5
function gcd(a,b:longint):longint;
begin
if a