永发信息网

有些关于pascal编程的问题不会做~~~

答案:1  悬赏:30  手机版
解决时间 2021-05-11 17:16
  • 提问者网友:浩歌待明月
  • 2021-05-11 02:08

1、绝对回文数

Description

有一种绝对回文数,其十进制与二进制均为回文数。

Input

只有一行且只有一个正整数: n
( 1< n < 10^6 )

Output

只有一行且只有一个正整数:1至n之间(包括1和n)的绝对回文数个数

Sample Input

10

Sample Output

5

Hint

5个绝对回文数是:1、3、5、7、9
(1-1、3-11、5-101、7-111、9-1001 )

2、蛇形方阵

Description

输入一个正整数n,输出 一个n*n的蛇形方阵,具体要求见输出样例。

Input

只有一行且只有一个正整数:n
( 1 <= n <= 100 )

Output

共有n行n列,每个数据占5个字符位置

Sample Input

5

Sample Output

1 3 4 10 11
2 5 9 12 19
6 8 13 18 20
7 14 17 21 24
15 16 22 23 25

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

这些题目来自 http://218.75.87.27/pj 这个网站,请大家在这里试题成功后再发上来哦

最佳答案
  • 五星知识达人网友:愁杀梦里人
  • 2021-05-11 02:28

1、绝对回文数

program p1068;var
z,n,i:longint;
s:string;
function Convert(n:longint):string;
var
s:string;
begin
s:='';
repeat
s:=chr((n mod 2)+48)+s;
n:=n div 2;
until n=0;
convert:=s;
end;
function hw(s:string):boolean;
var
i:longint;
begin
if length(s)=1 then exit(true);
for i:=1 to length(s)div 2 do
if s[i]<>s[length(s)-i+1] then exit(false);
exit(true);
end;
begin
readln(n);
for i:=1 to n do
begin
str(i,s);
if (hw(s))and(hw(convert(i)))then z:=z+1;
end;
writeln(z);
end.

2、蛇形方阵

program p1106;
var
a:array[1..100,1..100] of integer;
c,t,k,r,n:integer;
begin
read(n);
t:=1;k:=1;
for r:=1 to n do
for c:=1 to n do
a[r,c]:=0;
r:=1;c:=1;t:=2;a[1,1]:=1;
while (t<=n*n) do
case k of
1: begin
r:=r+1;
a[r,c]:=t;
t:=t+1;
if c=1 then k:=3;
if c=n then k:=4;
end;
2: begin
c:=c+1;
a[r,c]:=t;
t:=t+1;
if r=1 then k:=4;
if r=n then k:=3;
end;
3: begin
r:=r-1;
c:=c+1;
a[r,c]:=t;
t:=t+1;
if (r=1) then k:=2;
if (c=n) then k:=1;
end;
4: begin
r:=r+1;
c:=c-1;
a[r,c]:=t;
t:=t+1;
if (r=n) then k:=2;
if (c=1)and(r<>n) then k:=1;
end;
end;
for r:=1 to n do
begin
for c:=1 to n do
write(a[r,c]:5);
writeln;
end;
end.请相信我吧,我也是这么做就对的.不信你试试看!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯