更相减损术

更相减损术

https://ac.nowcoder.com/acm/problem/22164

其实用纸举例写一遍就出来了:
将两个运算数的位置定下来:大的放在前面;
得到的差是下一个的因数。(先不管这些知道能用上就行)
开始推
n1 = 5; n2 = 7;
change...
n1 = 7; n2 = 5;
7 - 5 = 2

n1 = 2; n2 = 5
change...
n1 = 5; n2 = 2;
5 - 2 = 3;

n1 = 3; n2 = 2;
change...
3 - 2 = 1

n1 = 1; n2 = 2;
change...
n1 = 2; n2 = 1;
2 - 1 = 1;

n1 = 1; n2 = 1;
1 - 1 = 0;

#include<cstdio>
void change(int &n1, int &n2);
int main(){
    int n1, n2;
    scanf("%d %d", &n1, &n2);
    while(n1 != 0){
        change(n1, n2);
        n1 = n1 - n2;
    }
    printf("%d", n2);
    return 0;
}
void change(int &n1, int &n2){
    if(n2 > n1){
        int temp = n2;
        n2 = n1;
        n1 = temp;
    }
}
全部评论

相关推荐

如题,这操作。。。。
真烦好烦真烦:既想享受国家的招聘应届生福利,又不想培养新人,我只能说这种企业的ld太过分了
投递美的集团等公司10个岗位 >
点赞 评论 收藏
分享
03-21 08:46
已编辑
门头沟学院 C++
一个什么都不会的学生:当你有硕士学历的时候HR会说就是比本科生强
点赞 评论 收藏
分享
纸鹰:对他说:“你好,我是百度JAVA。”
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务