题目描述:
小组名和彗星名都以下列方式转换成一个数字:最终的数字就是名字中所有字母的积,其中A是1,Z是26。例如,USACO小组就是21×19×1×3×15=17955。如果小组的数字 mod47等于彗星的数字mod47,你就得告诉这个小组需要准备好被带走!
写出一个程序,读入彗星名和小组名并算出用上面的方案能否将两个名字搭配起来,如果能搭配,就输出“GO”,否则输出“STAY”。小组名和彗星名均是没有空格或标点的一串大写字母(不超过6个字母)。
输入输出格式:
输入格式:
第1行:一个长度为11到66的大写字母串,表示彗星的名字。
第2行:一个长度为11到66的大写字母串,表示队伍的名字。
输出格式:
输入输出样例:
输入样例 | 输出样例 |
---|---|
COMET | GO |
QHVNGAT | |
ABSTAR | STAY |
USACO |
说明:题目翻译来自NOCOW。USACO Training Section 1.1
参考代码:
#include<iostream>
#include<string>
#include<cstring>
using namespace std;
char a;
long long c = 1, d = 1;
int main()
{
char a;
long long c = 1, d = 1;
while (scanf("%c", &a) && a != '\n')
{
c *= a - 64;
}
while (scanf("%c", &a) && a != '\n')
{
d *= a - 64;
}
if ((c % 47) == (d % 47))
cout << "GO";
else
cout << "STAY";
return 0;
}