黑马程序员技术交流社区
标题:
这道题不少太明白,求大神指教!!!
[打印本页]
作者:
沐浴阳光@
时间:
2015-4-14 00:12
标题:
这道题不少太明白,求大神指教!!!
输入两个数,求最小公倍数和最大公约数
int main(int argc, const char * argv[])
{
int num1 = 0;
int num2 = 0;
int gcd = 0; //最大公约数
int lcm = 0; //最小公倍数
printf("请输入两个数:\n");
scanf("%d%d", &num1, &num2);
int product = num1*num2;
if (num1 > num2)//始终让num1是最小数。
{
int temp = num1;
num1 = num2;
num2 = temp;
}
for (int i = num1; i > 0; i--) {
if (num1%i == 0 && num2%i == 0) {
gcd = i;
break;
}
}
lcm = product/gcd;
printf("gcd = %d\n", gcd);
printf("lcm = %d\n", lcm);
return 0;
}
作者:
37°天黑
时间:
2015-4-14 21:37
同求!求大神解答!
作者:
sunyang
时间:
2015-4-14 23:20
<script src="https://gist.github.com/sunocean/dcfe3d4c36f4874099a8.js"></script>
复制代码
作者:
桑小龙
时间:
2015-4-14 23:21
。。。。。。考试题吗
作者:
sunyang
时间:
2015-4-14 23:21
我去这个论坛的插入代码真的是插入代码啊,囧
//输入两个数,求最小公倍数和最大公约数
#include<stdio.h>
int main(int argc, const char * argv[])
{
int num1 = 0;
int num2 = 0;
int gcd = 0; //最大公约数
int lcm = 0; //最小公倍数
printf("请输入两个数:\n");
scanf("%d%d", &num1, &num2);
int product = num1*num2;
if (num1 > num2)//始终让num1是最小数。
{
int temp = num1;
num1 = num2;
num2 = temp;
}
for (int i = num1; i > 0; i--) //从num1开始循环减少直到寻找到最大公约数
{
if (num1%i == 0 && num2%i == 0) //能同时被 num1和 num2除尽的即为公约数
{
gcd = i;
break;//找到最大公约数后跳出循环
}
}
lcm = product/gcd;// 最大公约数和最小公倍数的关系 为 最大公约数 x 最小公倍数 = 两数相乘。
printf("gcd = %d\n", gcd);
printf("lcm = %d\n", lcm);
return 0;
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2