大大多的题目(PASCAL语言)

来源:百度知道 编辑:UC知道 时间:2024/05/23 20:32:13
1.给出一个自然数N(1<=N<=15,且N为奇数),要求找出这样的N个连续的正整数,使得前(N+1)/2个正整数的平方和,等于后(N-1)/2个正整数的平方和。
例如:当N=5时
满足条件的5个正整数为:10,11,12,13,14
且102+112+122=132+142
输入:N
输出:满足条件的N个正整数

2.给出一个正整数N(N<=32767),要求将其分解成质因子的连乘积。
例如:当N=24时
结果为:24=2*2*2*3(A)
又如;当N=13时
输出结果为:13=13 (B)
输入:N
输出:如(A)或(B)格式的结果

3.现代数学的著名证明之一是Georg Cantor证明了有理数是可枚举的。他是用下面这一张表来证明这一命题的:
1/1 1/2 1/3 1/4 1/5 …
2/1 2/2 2/3 2/4 …
3/1 3/2 3/3 …
4/1 4/2 …
5/1 …

输入:整数N(1<=N<=107)
输出:表中的第N项。
样例:
INPUT
N=7
OUT PUT
1/4

4.给出二个任意的正整数N,K(1<=N<=10000,0<=K<N),然后进行如下操作:
(1)从N中连续减去2R(R=0,1,2,3,...)
(2)当剩余的数不够减时,则将其加上K,再重复(1)的操作过程。
(3)若剩余的数为0时,则结束操作并输出进行减法的次数。
(4)若存在永远不能减完的情况,则输出信息“ERROR!”。
例如:当N=4,K=2时,操作过程如下:
1)4-1=3 减20
2)3-2=

1.
var n:longint;
a:array[1..1000]of longint;
procedure dg(x:longint);
var i,k,j,y,z:longint;
begin
k:=0;
for i:=x to x+(n-1) do begin
inc(k);
a[k]:=i;
end;
j:=(n+1)div 2;
for i:=1 to j do begin
y:=a[i]*a[i]+y;
end;
j:=(n-1)div 2;
for i:=j downto (n+1)div 2+1 do begin
z:=a[i]*a[i]+z;
end;
if z=y then for i:=1 to n do write(a[i],' ')else dg(x+1);
end;
begin
readln(n);
dg(1);
end.
如果楼主看得明思路就自己改一下吧
我还要做下面的题拿100分
第一题仍然是错的啊

2.
var a,b,c,d,e,f,g:longint;
begin
readln(a)
write(a,'=');
for b:=3 to a do
begin
e:=1;
if a mod b=0 then
begin
for g:=2 to round(sqrt(a)) do
if a mod g=0 then e:=0;
if (e=1)or(a=1) then begin write(b);exit;end;
e:=1;
for c:=2 to round(sqrt(b)) do
if b mod c=0 then e:=0;
if e=1 then begin wri