c-输入两个正整数m和n,求其最大公约数和最小公倍数。

问题描述

输入两个正整数m和n,求其最大公约数和最小公倍数。

输入两个正整数m和n,求其最大公约数和最小公倍数。

解决方案

 #include "stdio.h"
#include "conio.h"
main()
{
  int a,b,num1,num2,temp;
  printf("please input two numbers:
");
  scanf("%d,%d",&num1,&num2);
  if(num1<num2)
  {
    temp=num1;
    num1=num2;
    num2=temp;
  }
  a=num1;b=num2;
  while(b!=0)/*利用辗除法,直到b为0为止*/
  {
    temp=a%b;
    a=b;
    b=temp;
  }
  printf("gongyueshu:%d
",a);
  printf("gongbeishu:%d
",num1*num2/a);
  getch();
}

解决方案二:

首先是求其最大公约数的代码:
通过辗转相除法:
#include
using namespace std;
int MaxY(int a,int b){
int min,max;
max=a>b?a:b;
min=a
if(max%min==0)
return min;
else
return MaxY(min,max%min);
}
int main(){
i......
答案就在这里:输入两个正整数m和n,求其最大公约数和最小公倍数

解决方案三:

http://blog.csdn.net/xianfajushi/article/details/40684447

时间: 2024-10-21 18:53:07

c-输入两个正整数m和n,求其最大公约数和最小公倍数。的相关文章

输入两个正整数m和n并求其最大公约数和最小公倍数

查看全套"c语言习题集" 题目: 输入两个正整数m和n,求其最大公约数和最小公倍数. 1.程序分析:利用辗除法. 2.程序源代码: #include "stdio.h"#include "conio.h"main(){ int a,b,num1,num2,temp; printf("please input two numbers:\n"); scanf("%d,%d",&num1,&num

c++-从键盘上输入两个正整数,输出它们的最大公约数和最小公倍数用C++实现

问题描述 从键盘上输入两个正整数,输出它们的最大公约数和最小公倍数用C++实现 用C++实现,一早要交作业,急用C++实现,一早要交作业,急用C++实现,一早要交作业,急用C++实现,一早要交作业,急用C++实现,一早要交作业,急用C++实现,一早要交作业,急用C++实现,一早要交作业,急用C++实现,一早要交作业,急用C++实现,一早要交作业,急用C++实现,一早要交作业,急用C++实现,一早要交作业,急用C++实现,一早要交作业,急用C++实现,一早要交作业,急 解决方案 http://ww

printf-下面的程序错在哪? 为什么无论输入两个什么数,其输出结果都是0?

问题描述 下面的程序错在哪? 为什么无论输入两个什么数,其输出结果都是0? .............. void main() { float min(float x,float y); float a,b,m; scanf("%f%f",&a,&b); m=min(a,b); printf("min is %dn",m); system("pause"); } float min(float x,float y) { floa

WPS怎么输入两个红头标题的文件

  WPS怎么输入两个红头标题的文件         1.打开我们的WPS文字软件,点击"格式"选项卡,在弹出的下拉菜单中选择"中文版式"选项中的"双行合一"命令; 2.在双行合一的对话框中编辑我们需要制作红头文件的两个标题,且用空格键隔开,这里切记不可输入"文件"二字,然后单击"确定",例如这里我们输入"湖北大学.湖北大学知行学院"两个标题; 3.之后在我们的文档中就会出现输入的标题,

c-用C语言实现在键盘输入两个十进制数,然后在屏幕输出这两个数中较大的那个数

问题描述 用C语言实现在键盘输入两个十进制数,然后在屏幕输出这两个数中较大的那个数 我是这样写的: #include #include void main() { scanf("%d,%d",&a,&a,&b); c=max(a,b); print("max=%d",c); return 0; } 可是怎么就不对了呢?想不明白..啊-- 解决方案 1;如wolf所说,多一个&a,多return 0; 2;a,b,c没定义 3;我记得标

jquery ui-jQuery autocomplete 输入一个字符会显示所有数据,输入两个字符后进行过滤

问题描述 jQuery autocomplete 输入一个字符会显示所有数据,输入两个字符后进行过滤 输入第一个字符 匹配的会加粗,但是不匹配的也会显示 输入第二个字符后,不匹配的才会被过滤 使用的是jquery.autocomplete.js 使用 外部json数据 $("#Test").autocomplete("json/test.json", { width:150, max:10, dataType: 'json', minChars: 1, //自动完成

微软面试题:编程实现两个正整数的除法

编程实现两个正整数的除法,当然不能用除法操作符.  // return x/y.  int div(const int x, const int y) {  ....  }   // return x/y int div(const int x, const int y) { int left_num = x; int result = 0; while (left_num >= y) { int multi = 1; while (y * multi <= (left_num >>

test-这是我写的快速排序的算法,为什么编译时出错并提示“swap函数应输入两个参数,却提供了3个”啊

问题描述 这是我写的快速排序的算法,为什么编译时出错并提示"swap函数应输入两个参数,却提供了3个"啊 求助!这是我写的快速排序的算法,为什么编译时出错并提示"swap函数应输入两个参数,却提供了3个"啊~~谢谢大家啦! #include using namespace std; inline int findpivot(int arr[],int i,int j){ return (i+j)/2; } inline int partition(int arr[]

eof-最后的结果2是在输入两个1后得出的,为什么等我再输入两个数据(2)在按回车后才出现结果,EOF?

问题描述 最后的结果2是在输入两个1后得出的,为什么等我再输入两个数据(2)在按回车后才出现结果,EOF? #include int main() { int a,b; while(scanf("%d%d",&a,&b)!=EOF) printf("%dn",a+b); } 解决方案 scanf()函数返回的值为:正确按指定格式输入变量的个数:也即能正确接收到值的变量个数. 也就是说正常不应该返回 EOF ,即 -1 的. 由于是一个 while 循