全部评论
把a用字符数组存起来,从后往前,每次取18位,转成long long类型的数字再对b取模得到x,然后再取18位转数字+x后对b取模得到新的x。最终a将成为一个long long类型的数字,接着再辗转相除法求***,不知道这样理解正确吗。
while a%b!=0: a, b=b, a%b. return b
这道题的重点在哪里?是使用辗转相除法来实现?
同样求解答
今天是网易互娱还是网易互联网啊。。
#include <iostream>
using namespace std;
char s[100005];
long long gcd(long long a, long long b)
{ return a % b == 0 ? b : gcd(b, a % b);
}
int main()
{ scanf("%s", s + 1); long long a; cin >> a; long long b = 0; for (int i = 1; s[i] != '\0'; i++) { b = (b * 10 + s[i] - '0') % a; } cout << gcd(b, a); return 0;
}
这是某大佬粘出来的代码,不是很懂~~
相关推荐
10-11 12:50
北京林业大学 产品运营
在做测评的伊登很想奋...:别看了,简历没问题,中国人才太多了,所以显得没什么光辉,别怀疑,这水平进不去,那证明企业里边全是985。除了多投碰运气也没啥办法。 点赞 评论 收藏
分享
10-17 09:06
门头沟学院 Java
8527睿:有些地方感觉不太契合实际啊。简单看看第二个项目那里。
比如canal流式读取数据库日志进行缓存同步那里。可不可以加个消息中间件来确保SQL语句的削峰填谷。一般都是canal+消息中间件
双层鉴权登录那里,描述有点模糊,登录是鉴权的前提唉,后面功能都在说是登录,鉴权没有啊 点赞 评论 收藏
分享
点赞 评论 收藏
分享
