博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Codeforces Round #319 (Div. 2) C Vasya and Petya's Game (数论)
阅读量:6586 次
发布时间:2019-06-24

本文共 987 字,大约阅读时间需要 3 分钟。

因为所有整数都能被唯一分解,p1^a1*p2^a2*...*pi^ai,而一次询问的数可以分解为p1^a1k*p2^a2k*...*pi^aik,这次询问会把所有a1>=a1k && a2 >= a2k &&...

a3 >= a3k的数从原来的集合中分开。ai表示pi的幂。

那么只有当这个数的素因子的最大幂都被询问过一次,这个数才能确定。因此答案是所有的不大于n的只有一个素因子的数。

#include
using namespace std;const int maxn = 1e3+5;int prime[maxn];bool vis[maxn];int sieve(int n){ int m = sqrt(n+0.5); for(int i = 2; i <= m; i++) if(!vis[i]){ for(int j = i*i; j <= n; j+=i) vis[j] = true; } int c = 0; for(int i = 2; i <= n; i++) if(!vis[i]){ prime[c++] = i; } return c;}vector
ans;int main(){ int tot = sieve(1000); int n; scanf("%d",&n); for(int i = 0; i < tot; i++){ int p = prime[i]; if(p > n) break; for(int t = p; t<=n; t*=p){ ans.push_back(t); } } printf("%d\n",ans.size()); for(int i = 0; i < ans.size(); i++){ if(i) putchar(' '); printf("%d",ans[i]); } return 0;}

 

转载于:https://www.cnblogs.com/jerryRey/p/4799818.html

你可能感兴趣的文章
【Android LibGDX游戏引擎开发教程】第06期:图形图像的绘制(下)图片整合工具的使用...
查看>>
mysql-connector-java-5.1.22下载
查看>>
vim中设置tab的长度的方法
查看>>
林权抵押贷款政策出台 将实现林业资源变资本
查看>>
Spring REST
查看>>
在.Net中执行js
查看>>
切换sprite
查看>>
cocos2d-x 在vs2010下的环境配置
查看>>
Entity Framework 5.0系列之Code First数据库迁移
查看>>
EnterpriseDb公司的Postgres Enterprise Manager 安装图解
查看>>
ajax传输 基础一
查看>>
Android Animation学习(四) ApiDemos解析:多属性动画
查看>>
【转载】spring mvc 使用session
查看>>
SQLSERVER到底能识别多少个逻辑CPU?
查看>>
iphone UIScrollView缩放
查看>>
hdu 2234(IDA*)
查看>>
websocket nodejs实例
查看>>
Settings界面分析之Settings一级界面
查看>>
EF 5.0 帮助类
查看>>
微软BI 之SSIS 系列 - 通过设置 CheckPoints 检查点来增强 SSIS Package 流程的重用性...
查看>>