SCUT - 173 - Pod153的优化问题 = 数学

Posted inko

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SCUT - 173 - Pod153的优化问题 = 数学相关的知识,希望对你有一定的参考价值。

https://scut.online/p/173

给一个大于1的整数n,对它进行分拆,不可以拆出1,拆出的每个数贡献它的最大的除了它自己以外的因子,最小化这个贡献的和。

大胆猜测是要分解出一些质数使得大家都是1。

本身是2的就直接输出1就可以了。

根据哥德巴赫猜想,大于2的偶数直接输出2就可以了。

假如是质数,直接输出1就可以了。

剩下的都是奇合数了,奇合数至少是9,奇合数都可以拆一个3出来变成偶数,然后哥德巴赫猜想直接得到答案是3。

除了最后一种情况,就是奇合数拆一个2出来变成奇质数,比如9。

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

int d[13], f[13];

int main() 
#ifdef Yinku
    freopen("Yinku.in", "r", stdin);
#endif // Yinku
    int T;
    scanf("%d", &T);
    while(T--) 
        int n;
        scanf("%d", &n);
        if(n == 2) 
            puts("1");
            continue;
        
        if(n % 2 == 0) 
            puts("2");
            continue;
        
        bool prime = true;
        for(int d = 2; d * d <= n; ++d) 
            if(n % d == 0) 
                prime = false;
                break;
            
        
        if(prime) 
            puts("1");
            continue;
        
        n -= 2;
        prime = true;
        for(int d = 2; d * d <= n; ++d) 
            if(n % d == 0) 
                prime = false;
                break;
            
        
        if(prime) 
            puts("2");
            continue;
        
        puts("3");
    

以上是关于SCUT - 173 - Pod153的优化问题 = 数学的主要内容,如果未能解决你的问题,请参考以下文章

scut 125. 笔芯回文

arm linux下的txt数据初始化识别

Hbase­优化方案

使用 Scut 搭建通服架构

Scut 上线后遇到的问题

Scut AccountServer