1.判断一个数能否同时被3和5整除
//判断一个数是否能同时被2和5整除 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> int main() { int a; scanf("%d", &a); if (a % 2 == 0 && a % 5 == 0) { printf("%d能同时被2和5整除", a); } else { printf("%d不能可以同时被2和5整除", a); } return 0; }
2.求俩个数m和n的最大公约数
算法①:从1开始遍历,最后的公约数即是最大公约数
int main()
{
int m, n;
scanf("%d%d",&m,&n);
int tmp = 1;//保存公约数
int min = m <= n ? m : n;//m和n较小值
for (int i = 2; i <= min; i++)
{
if (m % i == 0 && n % i == 0)
tmp = i;
}
printf("最大公约数=%d\n", tmp);
return 0;
}
算法②:从大到小遍历,则第一个公约数即是最大公约数
int main()
{
int m, n;
scanf("%d%d",&m,&n);
int tmp = 1;
int min = m <= n ? m : n;
for (int i = min; i >= 1; i--)
{
if (m % i == 0 && n % i == 0)
{
tmp = i;
break;//跳出一层循环
}
}
printf("最大公约数=%d\n", tmp);
return 0;
算法③:辗转相除法,todo 最优秀的算法