• 2022百度之星初赛第三场-三个因子


    小度学数学时遇到困难,请你帮帮他。
    我们知道,恰好有两个正因子的数是质数。现在小度突发奇想,他想判断一个数是不是恰好有三个因子?
    给定n个正整数,请你分别判断它们是否恰好有三个不同的正因子。
    格式
    输入格式:第-行包含一个整数n(1 < n≤105),示数字个数。
    接下来n行,每行包含一个正整数a:(1 ≤ai≤1012)。
    输出格式:共n行,每行一个YES或NO, 示a;是否恰好有三个不同的正因子
    样例1
    输入: 3

    4 5 6
    输出: YES
    NO

    NO

    思路:要求判断给定数字是不是只有三个因子,任何数字都至少包括两个因子:1和本身,因此我们要求的就变成了一个数除了1和本身后还有个单独的因子,因此这个数必定是一个平方数,只要该平方因子是质数那么必定只有三个因子;

    AC代码:

    1. #include
    2. #include
    3. #include
    4. #include
    5. #include
    6. #include
    7. #include
    8. #include
    9. using namespace std;
    10. #define ll long long
    11. #define PII pair
    12. bool is_prime(ll n)
    13. {
    14. if(n<2) return 0;
    15. for(ll i=2;i<=n/i;i++)
    16. if(n%i==0)
    17. return 0;
    18. return 1;
    19. }
    20. int main()
    21. {
    22. int t;
    23. cin>>t;
    24. while(t--)
    25. {
    26. ll a;
    27. cin>>a;
    28. ll x=sqrt(a);
    29. if(x*x!=a)
    30. puts("NO");
    31. else if(is_prime(x))
    32. puts("YES");
    33. else
    34. puts("NO");
    35. }
    36. }

    小度学数学时遇到困难,请你帮帮他。
    我们知道,恰好有两个正因子的数是质数。现在小度突发奇想,他想判断一个数是不是恰好有三个因子?
    给定n个正整数,请你分别判断它们是否恰好有三个不同的正因子。
    格式
    输入格式:第-行包含一个整数n(1 < n≤105),示数字个数。
    接下来n行,每行包含一个正整数a:(1 ≤ai≤1012)。
    输出格式:共n行,每行一个YES或NO, 示a;是否恰好有三个不同的正因子
    样例1
    输入: 3

    4 5 6
    输出: YES
    NO

    NO

    小度学数学时遇到困难,请你帮帮他。
    我们知道,恰好有两个正因子的数是质数。现在小度突发奇想,他想判断一个数是不是恰好有三个因子?
    给定n个正整数,请你分别判断它们是否恰好有三个不同的正因子。
    格式
    输入格式:第-行包含一个整数n(1 < n≤105),示数字个数。
    接下来n行,每行包含一个正整数a:(1 ≤ai≤1012)。
    输出格式:共n行,每行一个YES或NO, 示a;是否恰好有三个不同的正因子
    样例1
    输入: 3

    4 5 6
    输出: YES
    NO

    NO

  • 相关阅读:
    信创操作系统--麒麟Kylin桌面操作系统 (项目十一 使用终端及查看硬件信息)
    基于单片机GSM的防火防盗系统的设计
    Springboot整合阿里云ONS RocketMq(4.0 http)
    Django + Taro 前后端分离项目实现企业微信登录
    前端--CSS
    Javascript 事件的动态绑定
    linux服务器更改网络配置
    100天精通Golang(基础入门篇)——第20天:Golang 接口 深度解析☞从基础到高级
    JS——常用内置对象
    从零开始,无需公网IP,搭建本地电脑上的个人博客网站并发布到公网
  • 原文地址:https://blog.csdn.net/qq_62242287/article/details/126693069