C语言-蓝桥杯2022年第十三届省赛真题-质因数个数

题目描述

给定正整数 n,请问有多少个质数是 n 的约数。

输入格式

输入的第一行包含一个整数 n。

输出格式

输出一个整数,表示 n 的质数约数个数。

样例输入

396

样例输出

3

提示

396 有 2, 3, 11 三个质数约数。

对于 30% 的评测用例,1 ≤ n ≤ 10000。

对于 60% 的评测用例,1 ≤ n ≤ 109。

对于所有评测用例,1 ≤ n ≤ 1016。

#include<iostream>
#include<cmath>
using namespace std;
bool sort(long long n);
int main()
{
    long long n;
    int sum=0;
    cin>>n;
    if(n<=1) cout<<'0';
    if(sort(n)){//先行判断是否质数
        for(long long i=2;i<=sqrt(n)+1;i++){
            if(n%i==0){
                if(!sort(i)) sum++;
                if(!sort(n/i)&&n/i!=i) sum++;
            }
        }
        cout<<sum;
    }
    else cout<<'1';
    return 0;
}
bool sort(long long n)
{
    if(n==2) return false;
    if(n%2==0) return true;//除去偶数的判断
    for(long long j=3;j<=sqrt(n)+1;j+=2){
        if(n%j==0) return true;
    }//sqrt简化复杂度
    return false;
}

相关推荐

  1. C语言-2022-质因数个数

    2024-01-08 12:40:01       38 阅读
  2. 2020-合并检查

    2024-01-08 12:40:01       19 阅读
  3. C语言-2023-砍树

    2024-01-08 12:40:01       30 阅读
  4. 2018-复数幂

    2024-01-08 12:40:01       19 阅读
  5. 2019-数列求值

    2024-01-08 12:40:01       23 阅读
  6. 2016-立方变自身

    2024-01-08 12:40:01       19 阅读
  7. 2016-承压计算

    2024-01-08 12:40:01       18 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-08 12:40:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-08 12:40:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-08 12:40:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-08 12:40:01       18 阅读

热门阅读

  1. 数据结构1

    2024-01-08 12:40:01       21 阅读
  2. 安全防御之安全审计技术

    2024-01-08 12:40:01       34 阅读
  3. 【设计模式】装饰器模式

    2024-01-08 12:40:01       42 阅读
  4. 学生成绩录入及查询(结构体)

    2024-01-08 12:40:01       36 阅读