几个pascal问题,急!!!!!!!

来源:百度知道 编辑:UC知道 时间:2024/06/27 06:28:56
1、 约瑟夫问题(jsf.pas/jsf.in/jsf.out)
输入:(jsf.in)
一行
n 和 k,之间有一空格。(100>=n>=0,100>=k>=0)
输出:(jsf.out)
出圈序列。(n个整数,每个数之间空一格,第一数顶行输出,最后一个数后无空格)
样例输入:
8 6
样例输出:
6 4 3 5 8 7 2 1

2、多项式的和(many.pas/many.in/many.out)
输入:(many.in)
第1行 n
第2行 an bn
…… ……
第n+1行 a1 b1
第n+2 行 m
第n+3 行 cm dm
…… ……
第 n+m+2 行 c1 d1
(1=<n,m<=100)
输出:(many.out)
第 1 行 ep fp
…… ……
第 p 行 e1 f1
样例输入:
5
3 4
1 3
1 2
1 1
–1 0
4
–1 3
–1 2
1 1
2 0
样例输出:
3 4
2 1
1 0

3、回文算术(return.pas/return.in/return.out)
输入:(return.in)
n (100=<n<1000)
输出:(return.out)
回文数m(m<1016) ,如果m不存在则输出no answer
样例输入:
abc
样例输出:
defed

4、马鞍数(horse.pas/horse.in/horse.out)
输入:(horse.in)
第1行 n (1=<n=<30)
第2 行 a11 a12…a1j …a1n
ai1 ai2…aij …ain
……

1.program jsf;
var
a:array[1..100]of byte;
i,j,n,p,k:byte;
begin
assign(input,'jsf.in');reset(input);
assign(output,'jsf.out');rewrite(output);
readln(n,k);
for i:=1 to n-1 do
a[i]:=i+1;
a[n]:=1;
p:=n;
for i:=1 to n do
begin
for j:=1 to k-1 do
p:=a[p];
write(a[p],' ');
a[p]:=a[a[p]];
end;
end.
2.看不懂@^@!
3.n (100=<n<1000)
为什么输入:abc??
4.还是不懂!
5.它是怎样变化的阿?
6.##连在一起不会把前一个的#无效?

1、 约瑟夫问题
const
m=16;
var
a:array[1..m] of integer;
i,j,n,p:integer;
begin
for i:=1 to m-1 do
a[i]:=i+1;
a[m]:=1;
read(n);
writeln('n=',n);
p:=m
for i:=1 to m do
begin
for j:=1 to n-1 do
p:=a[p];