代码中“c *= a[i] - 64”
“d *= b[i] - 64”想算的是什么?
by Ivan20121212 @ 2024-03-28 20:54:47
~~上面的问题不用看~~
正确代码如下:
```cpp
#include<bits/stdc++.h>
using namespace std;
int c = 1,d = 1;
int main()
{
string a,b;
cin>>a>>b;
for(int i = 0;i < a.size();i++) c *= (a[i] - 'A' + 1);
for(int i=0;i<b.size();i++) d *= (b[i] - 'A' + 1);
if(c % 47 == d % 47) cout << "GO";
else cout << "STAY";
return 0;
}
```
你的代码问题如下:
1.a[i],b[i]的减法不对,因为a[i] b[i]都一定是大写字母,所以要改为 a[i] - 'A' + 1和b[i] - 'A' + 1;
2.c和d是累乘器,初值为1,应该为int(long long也可以) c = 1,d = 1~~你的初始化我没看到~~
3.字符串从下标从“0”开始到“长度-1”结束,遍历应该为:for (int i = 0;i < a.size();i++) 和 for (int i = 0;i < b.size();i++).
by Ivan20121212 @ 2024-03-29 13:03:32