1
.从文件中读入若干个字符串(以“?”号结束),找出并输出未在此串中?/p>
现的所有字母和数字(按
ASCII
码顺序列出,区分大小写)?/p>
输入文件
aggre.in
只有一行,一串字符(小于等于
1000000
个)?/p>
输出文件
aggre.out
一行,不在字符串中出现的所有字母和数字,按
ASCII
码顺
序(在一行中输出)?/p>
样例:输?/p>
ABCD%$EF1234589JIKLMNabcddefOVWXYZPQghijklmnpqrstuvwxyzRST
U?
输出
067Gho
type atype=set of char;
var a:atype;ch:char;
begin a:=['0'..'9','A'..'Z','a'..'z'];
assign(input,'aggre.in');reset(input);
assign(output,'aggre.out');rewrite(output);
read(ch);
while ch<>'?' do begin
if (ch in a) then a:=a-[ch];read(ch);
end;
for ch:='0' to 'z' do
if (ch in a) then write(ch);
writeln;
close(input);close(output);
end.
2.
约瑟夫问?/p>
N
个人排成一个圆圈,然后把这
N
个人按逆时针方向分别编号为
1
?/p>
2
、„„?/p>
N
。从?/p>
号为
1
的人开始按逆时针计数,当某人计数为
M
的倍数是,该人出圈;如此循环下去,
直到圈中只有一个人留下?/p>
输入
N,M
输出
:最后留下的一个人编号?/p>
样例:输?/p>
10 4
输出
5
分析:这道题似乎用不上什么算法,只需建立一个循环链表,然后按照题目中要求的?/p>
拟即可?/p>
算法描述如下?/p>
var
a:array[1..100] of 0..1;
n,m,s,f,t:integer;
begin
readln(n,m);
for t:=1 to m do a[t]:=0;
f:=0;t:=0;s:=0;
repeat
t:=t+1;