无平方因子的数(数论好题)
来源:互联网 发布:mysql source用法 编辑:程序博客网 时间:2024/06/09 17:15
题目:(题目跟分析基本都是书上,我只是敲几个代码跟大家分享)
无平方因子的数。 给出正整数n,m。区间[n,m]内 “无平方因子” 的数有多少个??
整数p无平方因子,当且仅当不存在k>1,使得p是k^2的倍数. 1<=n<=m<=10^12; n-n<=10^7
分析:
直接枚举肯定会超时,
使用的方法和筛选素质类似的,对于不超过 sqrt(m)的所有素数p,筛掉区间[n,m]内p^2的倍数
以下是我的写代码(没有提交过OJ,但我尝试过一些数据,没有错。如果不妥还望指出)
<span style="font-size:24px;">#include"stdio.h"#include"stdlib.h"#include"string.h" #include"math.h"const int maxn=100005;int p[maxn];int prim[maxn];int len=0;void prime(int m){memset(p,0,sizeof(p));int k=sqrt(m+0.5);p[1]=1; for(int i=2;i<=k;i++){if(!p[i]) for(int j=i*i;j<=m;j+=i) p[j]=1; } len=0; for(int i=1;i<=m;i++) //将质数p[i]->prim[i] { if(!p[i]) //质数 prim[len++]=i; //保存这些质数 }}bool is_ping(int k)//是否是平凡因子 {for(int i=0;i<len;i++) if(k%(prim[i]*prim[i])==0) //是平方因子 return false; printf("%d ",k); return true; }int main(){int n,m,cnt=0;scanf("%d%d",&n,&m);prime(m);for(int i=n;i<=m;i++) if(is_ping(i)) cnt++; printf("\n%d\n",cnt);return 0; } </span>
0 0
- 无平方因子的数(数论好题)
- 【数论】无平方因子的数
- 【数论】无平方因子的数
- 无平方因子的数(数论初步) By ACReaper
- 无平方因子的数
- 无平方因子数
- 无平方因子数
- 无平方因子数
- UESTC 1720 无平方因子数(数论,容斥)
- 数轮初步---无平方因子的数
- HDU 3826 Squarefree number 判断无平方因子的数
- 无平方因子数 UESTC 1720
- java语言实现:数论经典问题 除法表达 ,无平方因子数 ,直线上的点,同余与模算术 大整数取模 幂取模,模线性方程
- uestc 1720 square-free integer(无平方因子数)&nyoj 580square-free integer(容斥,数论)
- shu_1746 无平方因子
- 求(1,n)中无平方因子的数(n<1e12)
- 算法竞赛入门经典:第十章 数学概念与方法 10.2无平方因子的数
- UESTC 618 无平方因子数 ( 莫比乌斯)
- 浅谈RxVolley(系列之一)-----Volley框架
- SpringMvc hibernate validator
- mongodub 组建 mongo mongod mongs 等组件
- 关于多重循环与break的一点疑惑
- windows(32位 64位)下python安装mysqldb模块
- 无平方因子的数(数论好题)
- php5.5+apache2.4
- swift数组中添加不同类型元素
- 软件应届毕业生的2015-7到2016-2的工作总结
- 使用Apache commons-configuration读取配置文件
- cocos2d-x Button的监听使用
- 【NYOJ】[198]数数
- 欢迎使用CSDN-markdown编辑器
- 用Protocol来分离的View和Model