文章

5

粉丝

7

获赞

9

访问

1.1k

头像
最大素因子 题解:
P1464 西安电子科技大学机试题
发布于2025年3月22日 14:33
阅读数 179

#include <iostream>
#include <math.h>
using namespace std;

const int maxn=1000150;
int cnt;//统计素数个数
int primes[maxn];//存储素数的数组
int st[maxn];//表示i元素是否是素数 false是素数  true是合数

void getPrime(int n)
{
    //初始化
    cnt=0;

    st[0]=true;
    st[1]=true;

    for(int i=2; i<=n; i++)
    {
        if(!st[i])
        {
            //是素数
            primes[cnt++]=i;
        }
        for(int j=0; primes[j]*i<=n; j++)
        {
            //筛除素数的倍数-》合数
            st[primes[j]*i]=true;
            if(i%primes[j]==0)
            {
                //优化
                break;
            }
        }
    }
}

int main()
{
    int n;
    cin>>n;
    for(int i=0; i<n; i++)
    {
        string str;//输入的字符串
        cin>>str;
        int num=0;//记录提取出的数字
        for(int j=0; j<str.size(); j++)
        {
            if(str[j]>='0'&& str[j]<='9')
            {
                num=num*10+(str[j]-'0');...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发