用pascal语言的while循环求s=1+2+3+...+10
跪求,简单一点,我是初学者还有几题:用while循环s=1+1/2+1/3+...+1/100;计算n!,其中n键盘输出输入任意自然数a,b,求a,b最小公倍数小球从10...
跪求,简单一点,我是初学者
还有几题:
用while循环
s=1+1/2+1/3+...+1/100;
计算n!,其中n键盘输出
输入任意自然数a,b,求a,b最小公倍数
小球从100高处自由落下,着地后又弹回高度的一半再落下,求第20次着地时,小球共通过多少路程?
0.1.1.2.3.5.8....规律是从第三项起,每项均等于前面两项之和。求前三十项,并以每行五个输出。
鸡兔同笼,头30,脚90,求鸡兔各几只。
谢谢大侠们,做得好肯定有加分 展开
还有几题:
用while循环
s=1+1/2+1/3+...+1/100;
计算n!,其中n键盘输出
输入任意自然数a,b,求a,b最小公倍数
小球从100高处自由落下,着地后又弹回高度的一半再落下,求第20次着地时,小球共通过多少路程?
0.1.1.2.3.5.8....规律是从第三项起,每项均等于前面两项之和。求前三十项,并以每行五个输出。
鸡兔同笼,头30,脚90,求鸡兔各几只。
谢谢大侠们,做得好肯定有加分 展开
1个回答
展开全部
这么多道题……
第一题:
var l,i:longint;
begin
i:=0; {清零}
l:=0;
while i<10 do
begin
inc(i); {i加1,和i:=i+1是一样的}
l:=l+i;
end;
writeln(l);
end.
第二题:(这道题我算的小数)
var i:longint;
l:real;
begin
i:=0;
l:=0;
while i<100 do
begin
inc(i);
l:=l+1/i;
end;
writeln(l:0:2); {保留两位小数。如果不要保留,就把”:0:2“去掉}
end.
第三题:
var i,l,n:longint;
begin
readln(n);
i:=1;
l:=1;
while i<n do
begin
inc(i);
l:=l*i;
end;
if n>0
then writeln(l)
else writeln(0);
end.
第四题: (先求最大公约数,再根据最大公约数求最小公倍数)
var i,l,a,b:longint;
function zdgys(m,n:longint):longint;
begin
if m mod n=0
then zdgys:=n
else zdgys:=zdgys(n,m mod n);
end;
begin
readln(a,b);
writeln(a*b div zdgys(a,b));
end.
第五题:
var i,l,n:longint;
begin
i:=0;
l:=100;
n:=100;
while i<20 do
begin
inc(i);
n:=n div 2;
l:=l+n*2;
end;
writeln(l);
end.
第六题:
var i,l,n:longint;
a:array[1..30] of longint;
begin
a[1]:=0;
a[2]:=1;
for i:=3 to 30 do
a[i]:=a[i-1]+a[i-2];
for i:=1 to 30 do
if i mod 5=0 {如果i是5的倍数,就换行}
then writeln(a[i])
else write(a[i],' ');
end.
第七题:
var i,l,n,m:longint;
begin
n:=15;
m:=15;
while 2*n+4*m<>90 do
begin
if 2*n+4*m>90
then begin
m:=m-1;
n:=n+1;
end
else begin
m:=m+1;
n:=n-1;
end;
end;
writeln('ji:',m,' tu:',n);
end.
希望我的回答能帮到你。不懂的地方再问哦
第一题:
var l,i:longint;
begin
i:=0; {清零}
l:=0;
while i<10 do
begin
inc(i); {i加1,和i:=i+1是一样的}
l:=l+i;
end;
writeln(l);
end.
第二题:(这道题我算的小数)
var i:longint;
l:real;
begin
i:=0;
l:=0;
while i<100 do
begin
inc(i);
l:=l+1/i;
end;
writeln(l:0:2); {保留两位小数。如果不要保留,就把”:0:2“去掉}
end.
第三题:
var i,l,n:longint;
begin
readln(n);
i:=1;
l:=1;
while i<n do
begin
inc(i);
l:=l*i;
end;
if n>0
then writeln(l)
else writeln(0);
end.
第四题: (先求最大公约数,再根据最大公约数求最小公倍数)
var i,l,a,b:longint;
function zdgys(m,n:longint):longint;
begin
if m mod n=0
then zdgys:=n
else zdgys:=zdgys(n,m mod n);
end;
begin
readln(a,b);
writeln(a*b div zdgys(a,b));
end.
第五题:
var i,l,n:longint;
begin
i:=0;
l:=100;
n:=100;
while i<20 do
begin
inc(i);
n:=n div 2;
l:=l+n*2;
end;
writeln(l);
end.
第六题:
var i,l,n:longint;
a:array[1..30] of longint;
begin
a[1]:=0;
a[2]:=1;
for i:=3 to 30 do
a[i]:=a[i-1]+a[i-2];
for i:=1 to 30 do
if i mod 5=0 {如果i是5的倍数,就换行}
then writeln(a[i])
else write(a[i],' ');
end.
第七题:
var i,l,n,m:longint;
begin
n:=15;
m:=15;
while 2*n+4*m<>90 do
begin
if 2*n+4*m>90
then begin
m:=m-1;
n:=n+1;
end
else begin
m:=m+1;
n:=n-1;
end;
end;
writeln('ji:',m,' tu:',n);
end.
希望我的回答能帮到你。不懂的地方再问哦
追问
首先感谢你的耐心指导,可是,为什么上面几题都要加i:=i+1?
追答
因为i要不断递加,while才不会死循环啊。而且,第一题里面l要加1、2、3、4。。。10,而i一开始是1,l加上1以后,i要加1变成2,再加1变成3.。。。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询