导航:首页 > 源码编译 > 编程两个数字的算法

编程两个数字的算法

发布时间:2022-12-26 02:18:58

㈠ c语言编程求输入两个数的最大公约数和最小公倍数,怎么做

输入两个正整数m和n,求其最大公约数和最小公倍数.用辗转相除法求最大公约数 算法描述:m对n求余为a,若a不等于0 则 m 0)
{
m_cup = m;

#include<stdio.h>

voidmain()

{

intm,n,m1,n1,t;

printf("请输入两个数(用空格隔开):");

scanf("%d%d",&m,&n);

if(n>m)

{

t=m;

m=n;

n=t;

}

m1=m;

n1=n;

while(n!=0)

{

t=m%n;

m=n;

n=t;

}

printf("%d和%d的最大公约数是:%d ",m1,n1,m);

printf("最小公倍数是:%d ",m1*n1/m);

}

㈡ c语言编写程序 输入两个整数,计算两数之和

十六进制顾名思义有16个基本元素。
那么因为阿拉伯数字只有10个所以10进制大于等于10的用16进制表示才用到字母abcdef。

14(16)=1*16+4=20(10)
24(8)=2*8+4=20(10)

方法一:
#include
voidmain()
{
inta,b;
printf("Inputtwointegers:");
scanf("%d%d",&a,&b);
printf("和:a+b=%d ",a+b);
printf("差:a-b=%d ",a-b);
printf("积:a*b=%d ",a*b);
printf("商:a/b=%d ",a/b);
printf("余数:a%b=%d ",a%b);
}
方法二:
#include<stdio.h>
intadd(inta,intb){
returna+b;
}
voidmain(){
inta,b;
printf("Pleaseinputthevalueofa:");
scanf("%d",&a);
printf("Pleaseinputthevalueofb:");
scanf("%d",&b);
printf("%d+%d=%d ",a,b,add(a,b));
}

㈢ 求教:C语言两个数的加法算法。

c语言求+,-,*,/其实很考验水平的
最简单的就是a/b了,在不溢出的情况下可以这么算,还有很多要注意的地方,象你需要数的类型,运算的数的类型,比如你定义了两个int型的量,相除,比如3/5,但是得到却是0,而不是0.6,所以你想得到0.6就必须把3和5定义成double或者float类型,而这一特点被很经常的运用,比如你要得到1个数的每1位,它是int型,你就可以拿它/10,这样就降了一位,而且没有余数了
碰到大数的+,-,*,/,都是靠运算每一位数字来得到最后结果的,c里没有直接可求出结果的函数,有些人把这个做成摸版,因为经常用到,而事实上很多情况都是会溢出的,所以建议你去找个摸版,+,-,*,/,在google上打
c
大数的加减,肯定会有的
希望对你有帮助

㈣ 用C语言编写程序求两个数的最小公倍数,并输出

如图使用辗转相除法求最小公倍数:

(4)编程两个数字的算法扩展阅读:

辗转相除法, 又名欧几里德算法(Euclidean algorithm),是求最大公约数的一种方法。

它的具体做法是:用较大数除以较小数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约数。

两个数的最大公约数是指能同时整除它们的最大正整数。

设两数为a、b(a2b),求a和b最大公约数(a,b)的步骤如下:

(1)用a除以b(a2b),得a÷b=q..n(0≤n)。

(2)若rn=0,则(a,b)=b;

(3)若r10,则再用b除以n,得b÷n=q..2(0sr2)

(4)若r2=0,则(a,b)=rn;若r20,则继续用r1除以r2,.…,如此下去,直到能整除为止。

其最后一个余数为0的除数即为(a,b)的最大公约数。

㈤ c语言编程:从键盘输入两个数,求它们的最小公倍数

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的最大公约数.
{
r=n%m;
n=m;
m=r;
}
printf("Its MAXGongYueShu:%d\n",n);//打印最大公约数.
printf("Its MINGongBeiShu:%d\n",p/n);打印最小公倍数.
基本原理如下:
用欧几里德算法(辗转相除法)求两个数的最大公约数的步骤如下:
先用小的一个数除大的一个数,得第一个余数;
再用第一个余数除小的一个数,得第二个余数;
又用第二个余数除第一个余数,得第三个余数;
这样逐次用后一个数去除前一个余数,直到余数是0为止。那么,最后一个除数就是所求的最大公约数(如果最后的除数是1,那么原来的两个数是互质数)。
例如求1515和600的最大公约数,
第一次:用600除1515,商2余315;
第二次:用315除600,商1余285;
第三次:用285除315,商1余30;
第四次:用30除285,商9余15;
第五次:用15除30,商2余0。
1515和600的最大公约数是15。
两个正整数的最小公倍数=两个数的乘积÷两个数的最大公约数
由于两个数的乘积等于这两个数的最大公约数与最小公倍数的积。这就是说,求两个数的最小公倍数,可以先求出两个数的最大公约数,再用这两个数的最大公约数去除这两个数的积,所得的商就是两个数的最小公倍数。
例 求105和42的最小公倍数。
因为105和42的最大公约数是21,
105和42的积是4410,4410÷21=210,
所以,105和42的最小公倍数是210。

㈥ 编程提示用户输入两个正整数,并求出它们的最大公约数,分别实现下 面三种算法:

算法一:
#include <stdio.h>
main()
{

int n1,n2,gcd=1,k=2;
scanf("%d %d",&n1,&n2);
while(k<n1||k<n2)
{
if(n1%k==0&&n2%k==0)
gcd=k;
k++;
}
printf("最大公约数为:%d",gcd);
}

算法二:
#include <stdio.h>
void main()
{
int n1,n2,k,i;
scanf("%d %d",&n1,&n2);
if(n1>n2)
k=n2;
for(i=k;i>0;i--)
if(n1%i==0&&n2%i==0)
printf("最大公约数为:%d\n",i);
}

算法三:
#include <stdio.h>
void main()
{
int gcd(int n1,int n2);
int n1,n2,k;
scanf("%d %d",&n1,&n2);
k=gcd(n1,n2);
printf("最大公约数为:%d\n",k);
}
int gcd(int n1,int n2)
{
if(n1%n2==0)
return n2;
else
return gcd(n2,n1%n2);
}

希望能帮助你,如有疑问请登录http://we.share.lc在线为您解答!

㈦ C语言程序设计:输入两个整数,计算并输出它们的和、积、差、商和余数各是多少

#include<stdio.h>
voidmain(){
inta,b;
printf("请输入两个数字");
scanf("%d",&a);
scanf("%d",&b);
printf("%d%d%d",(a+b),(a-b),(a*b));
if(b==0)
printf("NONENONE ");
else
printf("%d%d ",(a/b),(a%b));
}

具体如下:

1、简介C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

2、基本介绍

C语言,是一种通用的、过程式的编程语言,广泛用于系统与应用软件的开发。具有高效、灵活、功能丰富、表达力强和较高的移植性等特点,在程序员中备受青睐。最近25年是使用最为广泛的编程语言。

3、运算

C语言的运算非常灵活,功能十分丰富,运算种类远多于其它程序设计语言。在表达式方面较其它程序语言更为简洁,如自加、自减、逗号运算和三目运算使表达式更为简单,但初学者往往会觉的这种表达式难读,关键原因就是对运算符和运算顺序理解不透不全。当多种不同运算组成一个运算表达式,即一个运算式中出现多种运算符时,运算的优先顺序和结合规则显得十分重要。在学习中,对此合理进行分类,找出它们与数学中所学到运算之间的不同点之后,记住这些运算也就不困难了,有些运算符在理解后更会牢记心中,将来用起来得心应手,而有些可暂时放弃不记,等用到时再记不迟。

㈧ C语言编程中,求两个数的最大公约数和最小公倍数算法是怎样的

#include
main()
{
int
m,n,r;
printf("请输入两个数字:");
scanf("%d%d",&m,&n);
while(r!=0)
{
m=n;
n=r;
r=m%n;
}
printf("两个数字的最大公约数为%d\n",n);
getch();
}
这个算法就是把你初中算最大公约数的过程给程序化了。。你用以前的方法在纸上算算最大公约数
再对照WHILE里面的算法
就能明白咋回事了。。

㈨ c语言编程_穷举法求两个数的最大公约数

求最大公约数算法:
(1)辗转相除法
两整数a和b:
① a%b得余数c
② 若c=0,则b即为两数的最大公约数,结束
③ 若c≠0,则a=b,b=c,再回去执行①
(2)相减法
两整数a和b:
① 若a>b,则a=a-b
② 若a<b,则b=b-a
③ 若a=b,则a(或b)即为两数的最大公约数,结束
④ 若a≠b,则再回去执行①
(3)穷举法:
① i= a b中的小数
② 若a,b能同时被i整除,则i即为最大公约数,结束
③ i--,再回去执行②
相关代码:
#include <stdio.h>
int xc_gcd(int a,int b)
{
int c;
c=a%b;
while( c!=0 )
{
a=b;
b=c;
c=a%b;
}
return b;
}
int xj_gcd(int a,int b)
{
while( a!=b )
{
if ( a>b )
a-=b;
else
b-=a;
}
return b;
}
int qj_gcd(int a,int b)
{
int i;
i=(a>b)?a:b;
while( a%i!=0 && b%i!=0 )
i--;
return i;
}
void main()
{
//int a=36,b=27;
//int a=27,b=36;
int a=100,b=201;
printf("a=%d b=%d\n", a, b );
printf("辗转相除法求最大公约数=%d\n", xc_gcd(a,b) );
printf("相减法求最大公约数=%d\n", xc_gcd(a,b) );
printf("穷举法求最大公约数=%d\n", xc_gcd(a,b) );
}

㈩ 大一C语言,问题,编程,输入两个数。求两个数的最大共约数。

算法:辗转取余。
比如,求12和15的最大公约数,比较大的数对比较小的数进行取余。15%12=3,12%3=0,所以3就是它们的最大公约数。具体做法是,你输两个整数m和n,假设m是这两个数中比较大的一个,m对n进行取余,如果结果不为0,把原来n的值赋给m,把m对n取余得到的结果赋给n,这样就得到了一组新的m和n的值。用这新的m再次对新的n进行取余,如果结果不为0,那么把这个n的值赋给m,把这次m对n取余得到的结果赋给n,……直到m%n=0,此时m的值就是原来m、n的最大公约数。最小公倍数=原来的连个数的乘积除以最大公约数。
#include
<stdio.h>
void
main()
{
int
p,r,m,n;
printf("请输入两个正整数m,n:");
scanf("%d%d",&n,&m);
p=n*m;
if(m<n)
{
r=m;
m=n;
n=r;
}
while(n!=0)
{
r=m%n;
m=n;
n=r;
}
printf("它们的最大公约数为:%d\n",m);
printf("它们的最小公约数为:%d\n",p/m);
}

阅读全文

与编程两个数字的算法相关的资料

热点内容
王者荣耀解压玩具抽奖 浏览:45
12位是由啥加密的 浏览:868
程序员编迷你世界代码 浏览:895
php取现在时间 浏览:246
单片机高吸收 浏览:427
怎么区分五代头是不是加密喷头 浏览:244
hunt测试服务器是什么意思 浏览:510
2013程序员考试 浏览:641
毕业论文是pdf 浏览:736
服务器跑网心云划算吗 浏览:471
单片机定时器计数初值的计算公式 浏览:801
win7控制台命令 浏览:567
猫咪成年app怎么升级 浏览:692
360有没有加密软件 浏览:315
清除cisco交换机配置命令 浏览:751
华为删除交换机配置命令 浏览:473
shell打包命令 浏览:827
加密狗插上输不了密码 浏览:187
大学单片机相关科目 浏览:23
自己建了服务器地址 浏览:698