欢迎光临散文网 会员登陆 & 注册

洛谷 P1200 [USACO1.1]你的飞碟在这儿Your Ride Is Here题解

2021-04-14 19:28 作者:家之12  | 我要投稿

原题链接:https://www.luogu.com.cn/problem/P1200       

我的洛谷:https://www.luogu.com.cn/user/453321

首先 我们要读懂题意

题目大概意思是:如果字符串A与字符串B的ASCLL码的乘积除以47的余数是一样一样的,那么就输出GO,不然就输出STAY.

那意思就很明显了 我们可以先来定义两个字符串char a[7],char b[7];

注意:可以定义为字符类型,但我们遵循题目仍然用字符串;

再然后 我们就需要输入;

可以使用for(int i=0;i<6;i++){cin>>a[i]}的形式,但千万不能把a,b混在一起,最好是scanf("%s %s",a,b);

然后,我们需要一个变量来储存,你可以随便定义变量名称,但一定注意初始值要为1不能是0,因为0×任意数=0;

最后自己模自己,得余数

最后比较,相等就跑路 不相等就回来

上代码(三个月前的代码质量粗糙见谅)

#include<cstdio> 

#include<cstring>

int main(){

int a=1,b=1; 

char c[7],d[7];

 scanf("%s",c);

scanf("%s",d); 

int e=strlen(c),f=strlen(d);

for(int i=0;i<e;i++){ a*=(int)c[i]-'@'; }

for(int i=0;i<f;i++){ b*=(int)d[i]-'@'; }

a%=47;

b%=47; 

if(a==b) printf("GO");

else printf("STAY"); 

return 0;

}

本文章为我自己原创作品,可供学习使用,严禁抄袭,复制。抄袭必究。

洛谷 P1200 [USACO1.1]你的飞碟在这儿Your Ride Is Here题解的评论 (共 条)

分享到微博请遵守国家法律