网易c++笔试第一题:最大公约数全AC的有代码吗?

#网易##笔试题目#
全部评论
while a%b!=0: a, b=b, a%b. return b
点赞 回复 分享
发布于 2019-08-03 20:40
把a用字符数组存起来,从后往前,每次取18位,转成long long类型的数字再对b取模得到x,然后再取18位转数字+x后对b取模得到新的x。最终a将成为一个long long类型的数字,接着再辗转相除法求***,不知道这样理解正确吗。
点赞 回复 分享
发布于 2019-09-25 21:08
#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; } 这是某大佬粘出来的代码,不是很懂~~
点赞 回复 分享
发布于 2019-08-03 20:05
今天是网易互娱还是网易互联网啊。。
点赞 回复 分享
发布于 2019-08-03 20:35
同样求解答
点赞 回复 分享
发布于 2019-08-03 20:59
这道题的重点在哪里?是使用辗转相除法来实现?
点赞 回复 分享
发布于 2019-08-03 21:03

相关推荐

点赞 7 评论
分享
牛客网
牛客企业服务