program ufo;
var s:array[1..6] of longint;
var i,l,k,zonghe,q:longint;
man,star:string[6];
procedure jisuan(x:string[6]);
var i:integer;
l,zonghe:longint;
c:char;
begin
zonghe:=1;
l:=length(x);
for i:=1 to l do
begin
c:=x;
s:=ord©-64;
end;
for i:=1 to l do zonghe:=zonghe*s;writeln(zonghe);
{for i:=1 to l do write(s,' ');}
end;
begin
readln(STAR);
readln(MAN);
jisuan(STAR);
k:=zonghe mod 47;writeln(k);
jisuan(MAN);
q:=zonghe mod 47;writeln(q);
if k=q then writeln('go') else writeln('stay');
READ(i);
end.
原题:
一个众所周知的事实,在每一慧星后面是一个不明飞行物UFO。 这些不明飞行物时常来收集来自在地球上忠诚的支持者。 不幸地,他们的空间在每次旅行只能带上一群支持者。 他们要做的是用一种聪明的方案让每一个团体人被慧星带走。 他们为每个慧星起了一个名字,通过这些名字来决定一个团体是不是特定的慧星带走。 那个相配方案的细节在下面被给出;
你的工作要写一个程序来通过团体的名字和彗星的名字来决定一个组是否应该与在那一颗慧星后面的不明飞行物搭配。
团体的名字和慧星的名字都以下列各项方式转换成一个数字: 这个最后的数字代表名字中所有字母的信息,"A" 是 1 和 "Z" 是 26。
举例来说,团体 "USACO" 会是 21*19*1*3*15=17955 。 如果团体的数字 mod 47 等于慧星的数字 mod 47,那么你要告诉这个团体准备好被带走 !
写一个程序读入慧星的名字和团体的名字,如果搭配打印"GO"否者打印"STAY"
团体的名字和慧星的名字将会是没有空格或标点的一串大写字母(不超过6个字母),
Examples:
Input Output
COMETQ
HVNGAT
GO
ABSTAR
USACO
STAY
PROGRAM NAME: ride
INPUT FORMAT
第 1 行:
彗星的名字(一个长度为1到6的字符串)
第 2 行:
团体的名字(一个长度为1到6的字符串)
SAMPLE INPUT (file ride.in)
COMETQ
HVNGAT
OUTPUT FORMAT
单独一行包含"STAR"或"GO".
SAMPLE OUTPUT (file ride.out)
GO
我写的程序算的结果每次k和q都是0,以致于每次都输出GO,很是无奈,谢谢各位