wlbk.net
当前位置:首页 >> 编程最大公约数最小公倍数 >>

编程最大公约数最小公倍数

main() { int p,r,n,m,temp; printf("Please enter 2 numbers n,m:"); scanf("%d,%d",&n,&m);//输入两个正整数. if(n<m)//把大数放在n中,把小数放在m中. {temp=n; n=m; m=temp; } p=n*m;//P是原来两个数n,m的乘积. while(m!=0)//求两个数n,m的

哇要写这么多吗 #include"stdio.h"void main(){ int m,n,r,kk;printf("please input two numbers:"); scanf("%d%d",&m,&n); kk=m*n; printf("\n"); while(n) { r=m%n; m=n; n=r; } printf("最大公约数是:%d\n最小公倍数是:%d\n",m,kk/m); } 你那个用个数代入,分析一篇你就知道这么回事了,要说也不这么好说.

#include<stdio.h> void main() { int min(int x,int y); int m,n,p,i; scanf("%d%d",&m,&n); p=min(m,n); for(i=p;i>=1;i--) { if(m%i==0&&n%i==0)break; } printf("The max mcdivisor is:%d\n",i); } int min(int x,int y) { int z; if(x<y)z=x; else z=y; return(z); }

你这个程序能求出来你想要的结果吗? 最大公约数: int a ,b,i; if(a>b){ for(i=b;i>1;i--){ if( (a%i==0)&&(b%i==0)){ cout<<i; break; }else{ for(i=a;i>1;i--){ if( (a%i==0)&&(b%i==0)){ cout<<i; break; } } } 最小公倍同理可得.现在手里没编辑器.所在写法也不好自己慢慢看.算法应该很清楚的.

辗转相除法求最大公约数和最小公倍数 有两整数a和b:① a%b得余数c ② 若c=0,则b即为两数的最大公约数 ③ 若c≠0,则a=b,b=c,再回去执行① 例如求27和15的最大公约数过程为:27÷15 余1215÷12余312÷3余0因此,3即为最大公约数#

1、两个数的积是2645,最大公约数为23,这两数分别是23和115,两数的和是138. 2、三个连续正整数的最小公倍数是168,那么这三个数是6、7、8,三数的和是21.

while(i)部分找出mn的最大公约数.i已经是m、n中较小的一个,令i自减,直到找到最大的公约数,用break跳出循环.while(1)部分找最小公倍数.i、j为m、n、中较小的一个,判断i是不是m的倍数和n的倍数,若不是,i翻一番,若i是最小公倍数,break跳出循环

将m, n的初始化放到循环的外面即可#include int main(){ int a,b,i,m,n; printf("请输入两个不同的数:"); scanf("%d,%d",&a,&b); if(a==b) { printf("输入有误\n"); } if(a>b) { i=b; b=a; a=i; } m=a+1;///////////// do { m--; }while(!(b%m==0&&a%m==

m,n最大公约数为1/mn最小公倍数为mn

1.main() 2.{ 3.int p,r,n,m,temp; 4.printf("Please enter 2 numbers n,m:"); 5.scanf("%d,%d",&n,&m);//输入两个正整数. 6.if(n<m)//把大数放在n中,把小数放在m中. 7.{temp=n; 8.n=m; 9.m=temp; 10.} 11.p=n*m;//P是原来两个数n,m的乘积. 12.

网站首页 | 网站地图
All rights reserved Powered by www.wlbk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com