Philips and Calculator
2024-10-20 06:31:41
代码
#include<cstdio>
#include<algorithm>
using namespace std;
const int N = 3 * 1e6;
int l , r , p , tp , prime[105] , num[N + 5] , n , vis[105] , f[N + 5] , ok[N + 5] , ans;
inline void getp()
{
vis[1] = vis[0] = 1;
for(register int i = 2; i <= p; i++)
{
if (!vis[i]) prime[++tp] = i;
for(register int j = 1; j <= tp && prime[j] * i <= p; j++)
{
vis[i * prime[j]] = 1;
if (i % prime[j] == 0) break;
}
}
}
inline void dfs(int x , int v)
{
num[++n] = v;
for(register int i = x; i <= tp; i++)
if (prime[i] * (long long)v <= r) dfs(i , prime[i] * v);
}
int main()
{
scanf("%d%d%d" , &l , &r , &p);
getp();
dfs(1 , 1);
num[++n] = 1;
sort(num + 1 , num + n + 1);
f[1] = 0;
for(register int i = 2; i <= n; i++) f[i] = 1e9;
for(register int i = 2; i <= p; i++)
{
register int j = 1;
for(register int k = 1; k <= n; k++)
{
while (j <= n && num[k] * i != num[j]) j++;
if (j > n) break;
if (f[k] + 1 < f[j]) f[j] = f[k] + 1;
if (f[j] + i <= p && num[j] >= l && !ok[j]) ok[j] = 1 , ans++;
}
}
printf("%d" , ans);
最新文章
- UVa 437 The Tower of Babylon
- IIS服务器环境配置(一)
- 西门子MES解决方案SIMATIC IT在乳制品行业小试牛刀
- java web项目中classes文件夹下的class和WEB-INF/lib中jar里的class文件加载顺序
- 快速安装VIM开发环境
- QuickTime 专业版 pro 注册码
- BZOJ2212: [Poi2011]Tree Rotations
- AngularJS事件
- Python使用PDFMiner解析PDF
- Makefile例子引入
- JDK与JRE的关系
- 如何在CentOS 7上部署Google BBR【搬运、机翻】
- 4.1、Android Stuido配置你的Build Variant
- aptitude与apt-get
- session的部分理解
- JavaScript自定义事件 - createEvent()、initEvent()和dispachEvent()
- FTP登录提示Can&#39;t open data connection for transfer of ";/";
- HTML之列表
- 百度编辑器UEditor不能插入音频视频的解决方法
- 科普Spark,Spark是什么,如何使用Spark