qhnw.net
当前位置:首页 >> C语言求最大公约数 >>

C语言求最大公约数

#include "stdio.h" int main() { int d1,d2,r; printf("输入两个正整数:"); scanf("%d %d",&d1,&d2); do { r=d1%d2; d1=d2;d2=r; }while(d2!=0); printf("最大公约数是:%d",d1); }//递归法#include "stdio.h" int fun(int d1,int d2) { if(d2!

#include <stdio.h>#include <stdlib.h> //使用欧氏演算法求最大公约数 int gcd(int a, int b) { if (a < b) { int t = a; a = b; b = t; } if (a % b == 0) { return b; } else { return gcd(b, a % b); } } int main() { printf("请输入两个数:\n"); int a, b; scanf("%d", &a); scanf("%d", &b); printf("最大公约数为:%d", gcd(a, b)); return 0; }

#include int main() { int i,a,b,t; scanf("%d%d",&a,&b);//输入数a,b if(a>b)//比较a,b大小,如果a>b则交换,结果为a { t=a; a=b; b=t; } for (i = a; i >= 2; i--)//以较小的a为基数,每次i减小1循环求最大公约数 { if (a % i == 0 && b % i == 0)//如果两数

直接编写两个函数就行了!!#include int yueshu(int m,int n) { int t; if(m>n) t=m,m=n,n=t; //替换,保证m为较大的数 while(n!=0) { t=m%n; m=n; n=t; } return m; } int beishu(int m,int n) { return m*n/yueshu(m,n); //最小公倍数即为两个数的

c语言求两个数的最大公约数的步骤如下:1、首先,新建一个C语言源程序,在这里使用的是Visual C++6.0的软件.2、然后从键盘中直接输入两个正整数a和b.代码为:printf("please input two number:\n"); int a,b; scanf("%d%d",&a,&b);

用辗转相除法(欧几里德法)求最大公约数算法描述:m用n求余为a, 若a不等于0则 m = n, n = a, 继续求余否则(即若a为0) n 为最大公约数gcd(int a, int b){int t;if (a if (b == 0) return a;elset= a%b;while (t!= 0) { a=b; b=t;t=a%b;}return b;}main(){ int a,b; printf("输入两个数字:"); scanf("%d%d",&a,&b); printf("%d",gcd(a,b));}

#include int main() { int m,n,c,a; scanf("%d%d",&m,&n); if(m>n) { m=m; n=n; } else { c=m; m=n; n=c; } while(n!=0) { a=m%n; m=n; n=a; } printf("最大公约数是%d\n",m);// return 0; }

你这个程序能求出来你想要的结果吗? 最大公约数: 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; } } } 最小公倍同理可得.现在手里没编辑器.所在写法也不好自己慢慢看.算法应该很清楚的.

#include void main() { int a,b,num1,num2,temp; printf("please input num1 and num2 \n"); scanf("%d%d",&num1,&num2); if(num1 > num2) { a = num1; b = num2; } else { a = num2; b = num1; } while(b > 0) { temp = a % b; a = b; b = temp; } printf

int divisor (int a,int b) /*自定义函数求两数的最大公约数*/ { int temp; /*定义整型变量*/ if(a<b) /*通过比较求出两个数中的最大值和最小值*/ { temp=a; a=b; b=temp; } /*设置中间变量进行两数交换*/ while(b!=0) /*通过循环求两数的余数,直到余数为0*/ { temp=a%b; a=b; /*变量数值交换*/ b=temp; } return a; /*返回最大公约数到调用函数处*/ }

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