https://vj.xtuacm.cf/contest/view.action?cid=57#problem/I

1.当需要求1到N的欧拉数之和时用线性方法(本题)
2.当需要求单个欧拉数但数据很大用标准方法求
例如:https://vj.xtuacm.cf/contest/view.action?cid=57#problem/H

线性的方法求欧拉数代码(模板):

#include<stdio.h>
#include<string.h>
#define ll long long
const int MAXN=1000010;
int dp[MAXN];
ll a[MAXN];
int main()
{memset(dp,0,sizeof(dp));dp[1]=1;for(int i=2; i<MAXN; i++){if(dp[i])continue;for(int j=i; j<MAXN; j+=i){if(!dp[j])dp[j]=j;dp[j]=dp[j]/i*(i-1);}}a[1]=1;a[2]=1;for(int i=3;i<=MAXN;i++)a[i]=a[i-1]+dp[i];int N;while(~scanf("%d",&N),N){printf("%I64d\n",a[N]);}return 0;
}

普通方法求欧拉数:https://vj.xtuacm.cf/contest/view.action?cid=57#problem/H


#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <vector>
#include <set>
#include <queue>
#define ll long long
using namespace std;
int a[4000],c[5000],d[40010];
int cnt;
void init()//筛选出质数
{int num=0;memset(d,1,sizeof(d));for(int i=2;i<=40000;i++){if(d[i]){for(int j=2*i;j<=40000;j=j+i)d[j]=0;c[num++]=i;}}
}
void fen(int n)//分解质因数
{cnt=0;for(int i=0;c[i]*c[i]<=n;i++){if(n%c[i]==0){a[cnt++]=c[i];while(n%c[i]==0)n=n/c[i];}}if(n>1)a[cnt++]=n;
}int main()
{init();int n;while(~scanf("%d",&n),n){memset(a,0,sizeof(a));fen(n);int l=n;for(int i=0;i<cnt;i++)//得出结果l=l-l/a[i];cout<<l<<endl;}return 0;
}

线性方法求欧拉数-POJ2478相关推荐

  1. 【数学知识】三种方法求 [1,n] 中所有数欧拉函数(线性筛欧拉函数优化至 O(n) )

    整理的算法模板合集: ACM模板 ①直接求小于或等于n,且与n互质的数个数(求[1,n]中所有数的欧拉函数时间复杂度:O(nn)O(n\sqrt{n})O(nn​)) ②求[1,n]之间每个数的质因数 ...

  2. 一般筛法求素数+快速线性筛法求素数

    一般筛法求素数+快速线性筛法求素数 标签: 正则表达式算法优化扩展c 2010-08-22 01:28 28738人阅读 评论(8) 收藏 举报  分类: 算法学习资料(5)  版权声明:本文为博主原 ...

  3. lda 吗 样本中心化 需要_机器学习 —— 基础整理(四):特征提取之线性方法——主成分分析PCA、独立成分分析ICA、线性判别分析LDA...

    本文简单整理了以下内容: (一)维数灾难 (二)特征提取--线性方法 1. 主成分分析PCA 2. 独立成分分析ICA 3. 线性判别分析LDA (一)维数灾难(Curse of dimensiona ...

  4. 2019牛客多校第四场 B xor (线性基求交)

    xor 思路 题目是要求[l,r][l, r][l,r]的所有集合是否都可以得到xxx,那么显然我们可以对这[l,r][l, r][l,r]个线性基求交,然后再特判能否xxx能否插入,如果能插入,显然 ...

  5. 一般筛法和快速线性筛法求素数 求素数的一点总结

    素数总是一个比较常涉及到的内容,掌握求素数的方法是一项基本功. 基本原则就是题目如果只需要判断少量数字是否为素数,直接枚举因子2 ..N^(0.5) ,看看能否整除N. 如果需要判断的次数较多,则先用 ...

  6. 线性筛法求素数c语言,[算法]素数筛法(埃氏筛法线性筛法)

    一.素数筛的定义 给定一个整数n,求出[1,n]之间的所有质数(素数),这样的问题为素数筛(素数的筛选问题). 二.埃氏筛法(Eratosthenes筛法) 埃氏筛法又叫做Eratosthenes筛法 ...

  7. 隐式欧拉解常微分方程c语言,利用欧拉方法求常微分方程近似数值解.doc

    利用欧拉方法求常微分方程近似数值解,欧拉微分方程,欧拉运动微分方程,欧拉平衡微分方程,欧拉型微分方程,微分方程的欧拉算法,微分方程的欧拉解法,欧拉型常微分方程,偏微分方程数值解,微分方程数值解法 利用 ...

  8. 机器学习中的矩阵求导的一点总结(三种方法求线性回归最佳参数)

    机器学习中的矩阵求导的一点总结(三种方法求线性回归最佳参数) 转载于:https://blog.csdn.net/promisejia/article/details/80159619?ops_req ...

  9. 轮式里程计与激光雷达进行标定1--线性最小二乘直接线性方法

    轮式里程计与激光雷达进行标定--线性最小二乘直接线性方法 轮式里程计定义 轮式里程计与激光SLAM的关系 轮式里程计标定前言 线性最小二乘 直接线性方法里程计标定 Code Result 轮式里程计定 ...

最新文章

  1. MySQL列的别名 insert into select from
  2. 清华计算机本硕博连读!中国籍袁昱博士当选2022年IEEE标准协会候任主席
  3. servlet——登录练习(登录页面登录请求登录请求处理)
  4. OpneCV3——使用SURF、SVM、BOW对图像进行分类
  5. php软件开发--html进阶
  6. qlv文件怎么转换成mp4_flv怎么转换成MP4格式
  7. jsp项目如何定位当前页面是哪个jsp
  8. 微信小程序云开发表单使用 name的形式提交后如何清空输入内容
  9. 二本软件工程学生的考研逆袭之路
  10. linux下游戏手柄测试程序
  11. VARCHART XGantt用户手册:如何甘特图中的数据表
  12. 打包或者编译python程序
  13. win7激活一万遍都没解决的同学请看过来
  14. Android规范写法
  15. “由于这台计算机没有远程桌面客户端访问许可证,远程会话被中断“的解决方案
  16. python获取B站单个视频的封面
  17. 人工智能领域专业术语合集
  18. HIVE启动的时候, The server time zone value ‘EDT‘ is unrecognized or represents more than one time zone.
  19. 如何以管理员身份运行命令提示符或终端窗口
  20. flac文件转wav_WAV文件真的比FLAC更好吗?

热门文章

  1. HTML5 Canvas 绘制加拿大枫叶旗
  2. 云服务器搭建深度学习环境
  3. 基于视频分析的rPPG心率检测
  4. 广东理工学院计算机组成原理,20年广东理工学院成人高考期末考试 计算机组成原理 复习资料(7页)-原创力文档...
  5. 维特智能IMU 接入ROS发布IMU数据类型话题
  6. 如何批量重命名为不同文件名?
  7. (翻译)验证码(Captcha)
  8. 浏览器(2):自制Chromium内核浏览器,自动统计CSDN社区打卡记录
  9. org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException
  10. 云南大学通信工程827考研上岸经验分享