解题思路:
先计算最大公约数,再计算最小公倍数,然后验证是否准确
注意事项:
无
参考代码:
#include <stdio.h>
//辗转相除法
int main(void){
int intput_data[2] = {0};
int max = 0,min = 0;
int output_data[2] = {0}; //最大公约数和最小公倍数
scanf("%d %d",intput_data,&intput_data[1]);
max = intput_data[0] >= intput_data[1] ? intput_data[0] : intput_data[1];
min = intput_data[0] >= intput_data[1] ? intput_data[1] : intput_data[0];
if(max == min)
output_data[0] = max;
else{
while(1){
output_data[0] = max % min;
if(output_data[0] == 0){
output_data[0] = min; //计算出最大公约数
break;
}
max = min;
min = output_data[0];
}
}
output_data[1] = (intput_data[0] * intput_data[1]) / output_data[0]; //计算出最小公倍数
if(output_data[0]*output_data[1] == intput_data[0] * intput_data[1]) //验证准确性
printf("%d %d",output_data[0],output_data[1]);
else
printf("EEROR");
return 0;
}
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复