大数公约数

#include <iostream>
#include <string>
using namespace std;
string s;
long long gcd(long long a, long long b)
{
    if (a % b == 0)
        return b; 
    else
        return gcd(b, a % b);
}
int main()
{
    cin >> s;
    long long b; cin >> b;
    long long a = 0;//范围问题,借助字符串
    for (int i = 0; s[i] != '\0'; i++) 
        a = (a * 10 + s[i] - '0') % b;//保证了一定比b小,long long不会溢出
    cout << gcd(a, b);
    system("pause");
    return 0;
}

全部评论

相关推荐

字节 飞书绩效团队 (n+2) * 15 + 1k * 12 + 1w
点赞 评论 收藏
分享
贺兰星辰:不要漏个人信息,除了简历模板不太好以外你这个个人简介是不是太夸大了...
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务