6kyu Steps in k-primes

题目背景:

A natural number is called k-prime if it has exactly k prime factors, counted with multiplicity.

Task:

We will write a function kprimes_step(k, step, start, nd) with parameters:

  • k (integer > 0) which indicates the type of k-primes we are looking for,
  • step (integer > 0) which indicates the step we want to find between two k-primes,
  • start (integer >= 0) which gives the start of the search (start inclusive),
  • nd (integer >= start) which gives the end of the search (nd inclusive)

题目分析:

本道题主要是 如何计数素因子的个数,关于计数素数因子个数的方法,存在非常经典的因子分解的模板思路,先附上计数素数个 数的函数:

int KPrimes::count_primes(long long num){long long i = 2;int cnt = 0;while( i * i <= num ) {while( num % i == 0 ) {num /= i;cnt++;}i++;}if ( num != 1 ) cnt++;return cnt;
}

最终AC的代码:

#include <vector>namespace KStep{int count_primes(long long num){long long i = 2;int cnt = 0;while( i * i <= num ) {while( num % i == 0 ) {num /= i;cnt++;}i++;}if ( num != 1 ) cnt++;return cnt;}std::vector<std::pair <long, long>> kprimesStep(int k, int step, long long m, long long n){if ( k < 1 || m > n || step < 1 ) return {};std::vector<std::pair <long, long>> res;for ( long long i = m; i <= n - step; i++) {if ( count_primes(i) == k && count_primes(i + step) == k) {std::pair <long, long> seg = std::make_pair ( i, i + step );res.push_back(seg);}}return res;}
}

6kyu Steps in k-prime相关推荐

  1. 算法学习之路|最小生成树——prime算法

    摘要: 算法概述:对于一个带权的连通图,其顶点的集合 为V,边的集合为E.定义一个新的集合Vnew={空},第一步在图中任选一个顶点v加入Vnew,第二步寻找最短的边(u,v),其中u∈Vnew,v∈ ...

  2. python股票交易最大值最多可以完成k比交易_leetcode_贪心算法_python

    leetcode455.分发饼干 题目:假设你是一位很棒的家长,想要给你的孩子们一些小饼干.但是,每个孩子最多只能给一块饼干.对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最 ...

  3. F. 1.小W 的质数(prime)[欧拉筛再理解]

    Description 小X是一位热爱数学的男孩子,在茫茫的数字中,他对质数更有一种独特的情感.小X认为,质数是一切自然数起源的地方.  在小X的认知里,质数是除了本身和1以外,没有其他因数的数字.但 ...

  4. poj 3126 Prime Path

    看题目... 看解题报告... 敲.... 题意转自:優YoU  http://user.qzone.qq.com/289065406/blog/1303623014 大致题意: 给定两个四位素数a  ...

  5. zoj 4745 Factorial Problem in Base K

    题目链接:点击打开链接 题目的意思就是:给一个k进制的数s,求s!在10 进制下的末尾0个数. 思路: 先把s转化为10进制下的数. 把n!分解质因数. 把k分解质因数. 求所有的k的质因数中,除以n ...

  6. ADPRL - 近似动态规划和强化学习 - Note 4 - Policy Iteration Algorithms

    Note 4 - Policy Iteration Algorithms 4. Policy Iteration Algorithms 补充:范数的性质 4.1 贪婪诱导策略的特性 (Properti ...

  7. GNN图神经网络详述-01

    最近的有GNN学习需要,但这部分的资料整理还不算太多.本篇主要是作为知识梳理,主要参考综述性论文:Graph Neural Networks: A Review of Methods and Appl ...

  8. ADPRL - 近似动态规划和强化学习 - Note 2 - Stochastic Finite Horizon Problem

    2. Stochastic Finite Horizon Problem 在这一节中主要介绍了随机DP算法来解决不确定性下的有限地范围问题,如Denition 1.4所述,它被表述为一个组合优化问题. ...

  9. 1.2.2一个数可以有多少种用连续素数之和表示

    #include <iostream> using namespace std; const int maxp=2000,n=10000; int prime[maxp],total=0; ...

最新文章

  1. Java组合实体模式
  2. 【ACM】杭电OJ 1076
  3. GPS数据转换为OneNet需要的数据
  4. 彻底理解Toast原理和解决小米MIUI系统上没法弹Toast的问题
  5. OSChina 周五乱弹 —— 一句话证明你看过此乱弹~
  6. GitHub 热榜:这款开源神器可帮您将文本转换为手写文字,并下载为 PDF 格式文件!...
  7. OpenCV运行分类深度学习网络的实例(附完整代码)
  8. pil python 安装_20行Python代码给微信头像戴帽子
  9. Redis面试 - 如何保证 redis 的高并发和高可用?
  10. Spring MVC学习笔记——SiteMesh的使用(转)
  11. topjui.core.js
  12. 王道训练营3月24日
  13. 速达 从xp系统换成win7
  14. WIN10 自带无线投屏功能 灰色不可用
  15. 新建了个文件写代码报 Delete `␍`
  16. 大一期末计算机考试评分标准,大学生平时成绩考核评价标准
  17. 网页制作用html和sc,实验二:html的基本标签和javasc
  18. 中文字符点阵信息的显示和插入新字符(基于HZK16 ASC16软字库)
  19. Everything Is Generated In Equal Probability(HDU - 6595,概率期望)
  20. aix 安装oracle smit install_latest,记录一次AIX 4.3.0+ORACLE 8.0.5恢复过程

热门文章

  1. 【多线程】多线程锁住的是什么、std::lock_guard<std::mutex> locker(mutex_)
  2. VS2010中手动配置opencv2.4.10
  3. TCP通讯处理粘包详解
  4. 如何完成从科研人员到初创企业 CEO 的转型?
  5. Oracle编程入门经典 第7章 表
  6. java学习笔记11--集合总结
  7. 深度学习(十四)基于CNN的性别、年龄识别
  8. 逃出你的肖申克(三):遇见20万年前的自己
  9. 如何实现科技论文里面的算法
  10. Docker中应用的性能调优指南(一)- 先谈谈容器化性能调优