高悬赏,pascal编程一些题目。很简单的!!!
解决时间 2021-04-28 09:55
- 提问者网友:浪荡绅士
- 2021-04-28 05:03
1.错号入座,将编号为1~4的铜鼓俄坐在1~4的座位上,要求同学编号不得与座号相同,例,1.2.3.4,4.3.2.1上为合理方法。变成输出所有符合的方法及种数。
2.26个字母的初始队列状态是A~Z,每变一次,都将排列在偶数位置的字母抽取出来,排列在抽取后的字母队列的后面,请编程,输入整数n,输出变换n次后的字母队列。
3.8是一个吉祥的数字,关于8的一个数列是8,17,26...80,107,116...1007每一项的个位数字相加为8,请编程,输入n,(0<n<2000)输出第n次的值。
高悬赏,高手帮帮忙吧。。。回答加分的。。。拜托!!!!
最佳答案
- 五星知识达人网友:刀戟声无边
- 2021-04-28 05:11
第一题
var
i,j,k,l,c:integer;
begin
c:=0;
for i:=1 to 4 do
for j:=1 to 4 do
begin
if(i=j)then continue;
for k:=1 to 4 do
begin
if(k=i)or(k=j)then continue;
for l:=1 to 4 do
begin
if(l=k)or(l=i)or(l=j)then continue;
if(i<>1)and(j<>2)and(k<>3)and(l<>4)then
writeln(i,' ',j,' ',k,' ',l);
c:=c+1;
end;
end;
end;
writeln('total:', c);
readln;
end.
第二题
var
a: string[26];
b: string[26];
p1,p2:pchar;
i,j,k,c,n:integer;
begin
for i:=1 to 26 do
a[i]:=char(ord('A')+i-1);
a[0]:=char(26);
b[0]:=char(26);
readln(n);
c:=0;
for i:=1 to n do
begin
if(i and 1=1) then
begin
p1:=@a; p2:=@b
end else begin
p1:=@b; p2:=@a;
end;
j:=1; k:=1;
while j<26 do
begin
p2[k]:=p1[j];
j:=j+2;
k:=k+1;
end;
j:=2;
while j<=26 do
begin
p2[k]:=p1[j];
j:=j+2;
k:=k+1;
end;
c:=c+1;
inc(p2);
writeln('NO.',c:2,':',p2);
end;
readln;
end.
第三题
var
i,j,k,c,n:integer;
begin
readln(n);
if(n<=0)or(n>=2000) then
begin
writeln('input error');
readln;
exit;
end;
i:=7; c:=0;
while true do
begin
i:=i+1;
k:=0;
j:=i;
while j>0 do
begin
k:=k+j mod 10;
j:=j div 10;
end;
if k=8 then
begin
c:=c+1;
if c=n then
break;
end;
end;
writeln('the ',n,'th number is:',i);
readln;
end.
全部回答
- 1楼网友:污到你湿
- 2021-04-28 06:44
这个问题很少人会的。
我要举报
大家都在看
推荐资讯