1 条题解
-
0
思路分析
1. 任务拆解:
- 读取两个正整数a和b
- 计算它们的最大公约数
- 输出结果
2. 关键点分析:
- 最大公约数:能同时整除a和b的最大正整数
- 代码展示了三种常见方法:
- 约数相乘法(质因数分解)
- 最小值枚举法(从最小值递减枚举)
- 辗转相除法(欧几里得算法)
3. 步骤规划:
- 读取a和b的值
- 使用辗转相除法:
- 循环计算a除以b的余数
- 将b赋值给a,余数赋值给b
- 当余数为0时,b即为最大公约数
- 输出结果
4. 代码对应:
cin>>a>>b;→ 读取两个整数while(true)→ 辗转相除循环int y=a%b;→ 计算余数if(y==0) break;→ 余数为0时结束a=b; b=y;→ 更新a和b的值cout<<b;→ 输出最大公约数
- 1
信息
- ID
- 1250
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 2
- 标签
- (无)
- 递交数
- 219
- 已通过
- 139
- 上传者