博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj2478-Farey Sequence
阅读量:4659 次
发布时间:2019-06-09

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

素数筛法+欧拉函数

 

#include
#include
#include
using namespace std; #define maxn 1000005 #define INT __int64 int Prime[ maxn + 1 ] ;INT ans[ maxn + 1 ] ;void prime(){ memset( Prime , 0 , sizeof( Prime ) ) ; Prime[ 0 ] = Prime[ 1 ] = 1 ; for( int i = 2 ; i * i <= maxn ; ++i ) { if( !Prime[ i ] ) { for( int j = i * i ; j <= maxn ; j += i ) Prime[ j ] = 1 ; } }}void enlerfun(){ for( int i = 1 ; i <= maxn ; ++i ) ans[ i ] = i ; for( int i = 2 ; i <= maxn ; ++i ) { if( !Prime[ i ] ) for( int j = i ; j <= maxn ; j += i ) { ans[ j ] = ans[ j ] / i * ( i - 1 ) ; } }} int main(){ int n ; prime() ; enlerfun() ; for( int i = 3 ; i <= maxn ; ++i ) ans[ i ] += ans[ i - 1 ] ; while( ~scanf( "%d" , &n ) && n ) { printf( "%I64d\n" , ans[ n ] ) ; } return 0 ;}

 

 

转载于:https://www.cnblogs.com/snake-hand/archive/2013/06/07/3124993.html

你可能感兴趣的文章
P4878 道路修建-美国
查看>>
dp练习
查看>>
[javascript]9宫格拖拽拼图游戏 puzzle
查看>>
Entity Framework底层操作封装(3)
查看>>
InputStream 转换 InputStreamReader再转换BufferedReader
查看>>
在线程池中的使用spring aop事务增强
查看>>
javascript相关知识
查看>>
数组对象去重
查看>>
你未必知道的12个JavaScript技巧
查看>>
mysql的基本操作命令
查看>>
微信小程序---数据缓存
查看>>
Python网页正文转换语音文件的操作方法
查看>>
常用SQL查询语句
查看>>
Redis Windows版安装详解
查看>>
linux后台运行python程序 nohup
查看>>
吴裕雄--天生自然 高等数学学习:对面积的曲面积分
查看>>
css
查看>>
消除头文件
查看>>
Android中数据文件解析(Json解析)
查看>>
自定义seekBar设置进度条背景图片
查看>>