【题目描述】一个众所周知的事实,在每一慧星后面是一个不明飞行物UFO。这些不明飞行物时常来收集来自在地球上忠诚的支持者。不幸地,他们的飞碟在每次旅行只能带上一定数目的支持者。 他们要做的是用一种聪明的方案让每一个团体人被慧星带走。他们为每个慧星起了一个独有名字,通过这些名字来决定一个团体是不是特定的慧星带走。 那个相配方案的细节在下面被给出;你的工作要写一个程序来通过团体的名字和彗星的名字来决定一个组是否应该与在那一颗慧星后面的不明飞行物搭配。团体的名字和慧星的名字都以下列各项方式转换成一个数字: 这个最后的数字代表名字中所有字母的信息,"A" 是1 和 "Z" 是 26。举例来说,团体 "USACO" 会是 21*19*1*3*15=17955 。如果团体的数字除以47的余数等于慧星的数字除以47的余数,那么你要告诉这个团体需要准备好被带走 ! 写一个程序读入慧星的名字和团体的名字,如果能搭配打印"GO"否则打印"STAY" 团体的名字和慧星的名字将会是由没有空格或标点的一串大写字母(不超过6个字母)。
分析: 比较麻烦的格式。。。
View Code
/* ID: zhouzho5 LANG: C TASK: ride */ #include<stdio.h> #include<string.h> main(){ FILE *fin=fopen("ride.in","r"); FILE *fout=fopen("ride.out","w"); char a[10],b[10]; int i,res1,res2; fscanf(fin,"%s%s",a,b); res1=res2=1; for(i=0;a[i];i++) res1=res1*(a[i]-'A'+1); for(i=0;b[i];i++) res2=res2*(b[i]-'A'+1); res1=res1%47; res2=res2%47; if(res1==res2) fprintf(fout,"GO\n"); else fprintf(fout,"STAY\n"); exit(0); }