3 条题解

  • 13
    @ 2024-3-25 12:42:04

    质因数分解 P1263

    本题解为(15392178731)所创

    思路

    1.准备

    跳过

    2.输入

    跳过

    3.思路

    由于n是由质数A与质数B,而且要较大的质数。咱们用求质数模板。求出第一个质数,然后输出n/质数A,然后break。

    完整代码

    #include <bits/stdc++.h>
    using namespace std;
    long long n;
    int main(){
        cin>>n;
        for (int i=2;i*i<=n;i++){
            if (n%i==0){
                cout<<n/i;
                break;
            }
        }
        return 0;
    }
    

    如果题解没有赞,眼泪哗哗直下流。

    • @ 2024-6-8 19:22:19

      不用谢,帮你把点赞数刷到了第一

  • 3
    @ 2024-1-13 11:29:47

    其实本题只需要求n\sqrt{n}的第一个不是1的因数,也就是输出n除以第一个不是1的因数的商

    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
        long long n;
        cin >> n;
        for (int i = 2; i <= sqrt(n); i++)
        {
            if (n % i == 0)
            {
                cout << n / i << endl;
                return 0;
            }
        }
    }
    
    • @ 2024-1-13 11:35:23

      最根本的就是先n\sqrt{n},再算一个in\frac{i}{n}而已,其中ii不等于11

    • @ 2024-4-18 20:25:21

      不过建议把sqrt改成i * i

  • -1
    @ 2024-1-5 16:15:40

    由于题目保证nn一定是两个质因数相乘,因此循环直到n\sqrt{n},找到nn的因数ii时,输出n/in/i的值即可。

    核心代码
    
    for (int i = 2; i * i <= n; i++) {
        if (n % i == 0) {
            cout << n / i;
            return 0;
        }
    }
    
    • 1

    信息

    ID
    638
    时间
    1000ms
    内存
    256MiB
    难度
    1
    标签
    (无)
    递交数
    129
    已通过
    99
    上传者