鱼C论坛

 找回密码
 立即注册
查看: 1240|回复: 0

[技术交流] C++刷面试题(最大公约数)【数学|越界处理】【网易】【2020】

[复制链接]
发表于 2020-5-14 15:47:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 糖逗 于 2020-5-23 16:02 编辑

题目描述:如图1
题目来自:牛客网

#include <iostream>
#include <string>
using namespace std;
 
long long gcd(long long a, long long b) {//辗转相除
   if (b == 0) return a;
   return gcd(b, a%b);
}
 
int main() {
   string s;
   getline(cin,s);
   long long a = 0, b;
   cin >> b;
   for (int i = 0; s[i] != '\0'; i++) {
      a = (a * 10 + s[i] - '0') % b;
   }//先用最大值除以最小值得到一个较小的数防止数据溢出
   cout << gcd(a, b);
   return 0;
}

图1

图1

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-22 15:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表