码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • T246836 [LSOT-1] 暴龙的土豆


     [LSOT-1] 暴龙的土豆

    题目背景

    暴龙爱吃土豆。

     题目描述

    给定一个正整数 n。

    每次操作可以选两个素数 y,z,其中要求 z 是奇素数。

    令 x=y^z,如果 x 能除尽 n 则计为一次有效操作,n 变为 n/x。

    现在需要你回答,对于 n 最多能够进行多少次有效操作。

     输入格式

    本题有多组数据。

    第一行一个正整数 T。

    接下来 T行,每行一个正整数 n。

    输出格式

    对于每组数据,输出答案。

     样例 1

     样例输入 1
    2
    16
    9

     样例输出 1
    1
    0

     样例 2

     样例输入 2
    2
    1327104
    3623878656000

    样例输出 2
    5
    12

    提示

    【样例解释】

    对于样例一:16 可以变成 2^3 * 2,可以进行一次操作。但是 9 只能变成 3^2,所以不能进行操作。

    【数据范围】

    「本题采用捆绑测试」

    Subtask 1(10 pts):1 <=n<=10^2,1 <=T<10^2
    Subtask 2(20 pts):1 <= n<=10^6,1 <=T<=10^2;
    Subtask 3(30 pts):1 <= n<=10^12,1 <=T<=10^2;
    Subtask 4(40 pts):无特殊限制。

    对于 100%的数据,满足 1<=n<=10^18,1<=T<=10^2。

    普及-的水平,埃筛法直接先把1-10^6所有素数弄出来,然后把每个素数*3的数存放到数组里就完事了。

    1. #include
    2. using namespace std;
    3. bool isprime[1000001];
    4. long long isprime_3[1000001];
    5. const long long m1 = 1000000;
    6. long long length1 = 0;
    7. void init()
    8. {
    9. for (long long i = 2; i <= m1; i++) /*埃筛法求得1-10^6里面所有素数*/
    10. {
    11. if (isprime[i] == 0)
    12. {
    13. for (long long j = i * 2; j <= m1; j = j * 2)
    14. {
    15. isprime[j] = 1;
    16. }
    17. }
    18. }
    19. for (int i = 2; i <= m1; i++) /*把x=y*y*y*,那么我们把每个x遍历出来*/
    20. {
    21. if (isprime[i] == 0)
    22. {
    23. isprime_3[length1++] = i * i * i;
    24. }
    25. }
    26. }
    27. int main()
    28. {
    29. init();
    30. int t;
    31. cin >> t;
    32. while (t--)
    33. {
    34. long long n = 0, temp = 0, sum = 0;
    35. cin >> n;
    36. temp = n;
    37. for (int i = 0; i < length1; i++)
    38. {
    39. if (temp >= isprime_3[i]) /*temp>=isprime_3[i]才能继续做*/
    40. {
    41. while (temp % isprime_3[i] == 0)
    42. {
    43. temp = temp / isprime_3[i];
    44. sum++;
    45. }
    46. }
    47. else /*比它小结束循环*/
    48. {
    49. break;
    50. }
    51. }
    52. cout << sum << endl;
    53. }
    54. return 0;
    55. }

  • 相关阅读:
    微信小程序开发07 数据监控:善用数据驱动产品迭代
    4月02日,每日信息差
    Android Studio新建项目缓慢解决方案
    string类详解
    EdrawMax Ultimate v12.0 图表和流程图
    基于plc的柔性制造系统供料检测单元的设计(论文+源码)
    Postgresql支持的浮点类型和区别案例
    CodeSys中编程实现串口通讯【基于树莓派4B】
    微服务治理:Nacos, Zookeeper, consul, etcd, Eureka等 5 个常用微服务注册工具对比
    【特纳斯电子】基于物联网的空气质量检测-仿真设计
  • 原文地址:https://blog.csdn.net/m0_52708559/article/details/125989002
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号