模拟/USACO 1.1.1 Your Ride Is Here

题意:给出两个大写的英文串,规则:A代表1,B代表2......Z代表26,现在分别计算两个字符串,计算法则例如:ABC=1*2*3。如果两个字符串的得数mod 47相等,则输出GO,否则输出STAY。
分析:充分利用ASCII码的对应关系,算每一个字母所代表的数即用s[i]-'A'+1即可,最后别忘了mod 47。

 1 #include<cstdio>
 2 #include<cstring>
 3 
 4 int calc(char *s)
 5 {
 6     int len=strlen(s);
 7     int ans=1;
 8     for (int i=0;i<len;i++)
 9         ans=ans*(s[i]-'A'+1);
10     return ans%47;
11 }
12 
13 int main()
14 {
15     char a[7],b[7];
16     scanf("%s%s",a,b);
17     if (calc(a)==calc(b)) printf("GO\n");
18     else printf("STAY\n");
19     return 0;
20 }

 

转载于:https://www.cnblogs.com/Rinyo/archive/2012/11/15/2772351.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值