0
点赞
收藏
分享

微信扫一扫

寒假笔记(1)--暴力题目求解

_铁马冰河_ 2022-01-10 阅读 25
c++蓝桥杯

1.最大质因数

13195的质因数包括5、7、13和29。

600851475143的最大质因数是多少?

另外,通过这个题,我还学会了一个求质数的更简便的方法

int pnum(int n)
{
    for(int i=2;i*i<=n;i++){
        if(n&i==0)  return 0;
    }
    return 1;
}

2.最小公倍数

2520是最小的能够被1到10整除的数。

最小的能够被1到20整除的正数是多少

解题思路:2个数中,最小公倍数和最大公约数的乘积是这两个数的乘积。拓展一下范围,那么n个数的最小公倍数应该是这20个数的乘积在除以20个数的最大公约数。先求两个的最大公约数,在用这两个最大公约数与第三个数结合,再求最大公约数

#include <iostream>
using namespace std;

int gcd(int a,int b)
{
    if(a%b==0)
        return b;
    else return gcd(b,a%b);//辗转相除
}
int lcm(int a,int b)
{
    return a/gcd(a,b)*b;
}

int main() {
    int result=1;
   for(int i=2;i<=20;i++)
    result=lcm(result,i);
   cout<<result;
   return 0;
}
举报

相关推荐

0 条评论