C语言基础第9

1.数学小常识:
两个数的乘积等于 这两个数的最大公约数和最下公倍数的乘积。

2 在C语言中求两个数的最大公约数

算法设计:● 定义变量
● 判断两个数的 main
● 用 mian 来表示最小值(事先定义好main)
● 列出循环函数和判断函数。

数学常识:一个数的最大约数必须小于本身,不能等于或大于。

            也就是两个数的最大公约数不能是其中一个。

3.求最大公约数的小程序:
**#include <stdio.h>
int main()
{
int a,b;
int i;

int ret=0; int main;

scanf("%d %d",&a,&b);
if(a>b) main=b; 
else main=a;
for(i=1;i<main;i++){
	if(a%i==0){
	   if(b%i==0){

ret=i;

	   }
	}
}
printf("%d和%d的最大公约数为%d",a,b,ret);
return 0;

}**

注意:这里引入变量 ret 然后把循环结束的变量结果赋给它,最后再输出。

★★★★## 引入变量 i 的原因:

●在循环内 i<main, 当整个循环结束时,i 往下走,不满足 i<mian
● 此时的 i 等于 main。
● 如果直接在循环结束后加 printf ,计算机会认为是循环结束时的 i
● 所以 引入变量 代替循环结束时变量的值,然后再输出。

特例:如果是引入 sum 求和函数 可以直接输出 sum

4小技巧.

在循环体中,
●如果你想要输出循环体中变量的最大值或最小值,
●可以把最后的变量赋值给另外一个第三方变量(事先定义好)
●然后再在循环体外输出那个第三方变量。

5 ,关于 break 跳出循环
break 只是跳出循环 而与 if 等判断体系毫无关系
●即使一个循环里有很多的判断函数,也能直接跳出,明确记忆
不能混淆

6 . 如: 求最小公约数只需要在求最大公约数的基础上加上 break.

#include <stdio.h>
int main()
{
int a,b;
int i;

int main;
scanf("%d %d",&a,&b);
if(a>b) main=b; 
else main=a;
for(i=1;i<=main;i++){
	if(a%i==0){
	   if(b%i==0){

break;

	   }
	}
}
printf("%d和%d的最大公约数为%d",a,b,i);

return 0;

}

7 .

辗转相除法

。。。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值