题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2588

思路


欧拉函数值的意思是[1,n]中gcd(x,n)=1的x的个数,x[1,n]

如果x[1,n],且gcd(x,n)=k,令x=k*a,n=k*b,那么a与b互质

由x≤n可知a≤b,所以求a的个数相当于转化为求[1,b]中和b互质的数的个数,,即,其中k[m+1,n]

注意:k必须是n的约数,这道题n过大,分一半求即可,O(√n)

代码


#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <string.h>
#include <ctype.h>
#include <set>
#include <cmath>
#include <queue>
#include <stack>
#include <map>
#include <sstream>
#define  maxn 10000
typedef long long ll;
const ll mod=1e9+7;
using namespace std;
ll euler(ll x)
{ll ans=x;for(ll i=2;i*i<=x;i++){if(x%i==0){ans=ans/i*(i-1);while(x%i==0) x/=i;}}if(x!=1) ans=ans/x*(x-1);return ans;
}
int main()
{//freopen("/Users/zhangkanqi/Desktop/11.txt","r",stdin);ll n,m,t;cin>>t;while(t--){ll ans=0;vector<ll> div;cin >> n >> m;for(ll i=1;i*i<=n;i++){if(n%i==0){if(i*i==n){if(i>=m) div.push_back(i);}else{if(i>=m) div.push_back(i);if(n/i>=m) div.push_back(n/i);}}}for (ll i = 0 ; i <div.size(); i++)ans += euler(n/div[i]);cout << ans << endl;}
}

【hdu2588】求[1-n]中和n的gcd大于m的数的个数(求欧拉函数值)相关推荐

  1. c语言中求大于的函数,c语言编写函数,求一组数中大于平均值的数的个数.

    C语言编写程序 给定一组数,求大于0,等于0,小于0的数据个数 #define N 10 main(){int num1=0,num2=0,num3=0,i;for(i=0;i 一道C语言题目:求一组 ...

  2. c语言给定整数求紧随素数,C语言:找出一个大于给定整数m且紧随m的素数,-求出能整除x且不是偶数的数的个数,...

    //函数fun功能:找出一个大于给定整数m且紧随m的素数,并作为函数值返回. #include #include #include int fun( int m) { int i,k; for (i= ...

  3. 7809 - 试题J:因数个数 25'(欧拉筛法求因子个数)

    链接:http://oj.hzjingma.com/p/7809?view=classic 来源:竞码编程 题目描述   求所有 2 2 2 到 n n n 的整数中,因数个数第 k k k 少的数因 ...

  4. C语言程序设计:编写函数,求一组数中大于平均值的数的个数

    题目内容: 编写函数,求一组整数中大于平均值的个数,数组元素个数任意.例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函数值为3. 函数头定义:int aver(int a[] ...

  5. 5.23 C语言练习(平均值计算:输入10个整数,求它们的平均值,并输出大于平均值的数据的个数。)

    [练习] 题目要求:输入10个整数,输出大于平均值的数据的个数.例如:输入:1 2 3 4 5 6 7 8 9 10输出:5 #include<stdio.h>int main() {// ...

  6. AcWing 874. 筛法求欧拉函数

    线性筛法求解欧拉函数 有关线性筛法的介绍,可以参考这道题:868. 筛质数 - AcWing题库 这道题y总采用了线性筛选法来筛选掉指定范围内的合数,筛选出质数.思维利用得极为巧妙. 结合y总讲解视频 ...

  7. hdu (欧拉函数+容斥原理) GCD

    题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1695 看了别人的方法才会做 参考博客http://blog.csdn.net/shiren_Bod/ar ...

  8. jzoj3509-倒霉的小C【gcd,欧拉函数】

    正题 大意 画n条线,每次坐标变换为(x+n,y+(−1)(i+1)∗i)(i=1∼n)(x+n,y+(-1)^{(i+1)}*i) \ \ \ (i=1\sim n)(x+n,y+(−1)(i+1) ...

  9. GCD - Extreme(欧拉函数变形)

    题目链接:https://vjudge.net/problem/UVA-11426 题目大意: 给出整数n∈[2,4000000],求解∑gcd(i,j),其中(i,j)满足1≤i<j≤n. 的 ...

  10. BZOJ 2818: Gcd区间内最大公约数 为素数的对数(欧拉函数的应用)

    传送门 2818: Gcd Time Limit: 10 Sec Memory Limit: 256 MB Submit: 3649 Solved: 1605 [Submit][Status][Dis ...

最新文章

  1. bug诞生记——隐蔽的指针偏移计算导致的数据错乱
  2. 面试前临时抱佛脚——常见的Shell脚本面试题
  3. python数据类型-Python核心数据类型概览
  4. c语言 倒计时不清屏_打字游戏超细讲解(C语言基础小游戏)
  5. Android创建文件为unix格式,Recovery模式下/cache/recovery/目录下创建文件,开机后文件被删除...
  6. React开发(247):react项目理解 学会debugger
  7. uniapp返回上一页_uniapp怎么调用扫一扫功能?
  8. 若依后端实现pdfjs预览PDF文件
  9. IDEA将maven项目配置到本地tomcat中运行
  10. 用 65 行代码实现 JavaScript 动画序列播放
  11. c语言判断二叉树是不是二叉排序树_判断
  12. 计算机考试二级搜题软件,计算机二级搜题库-可以帮助计算机二级备考生进行备考的刷题软件...
  13. 区块链研究实验室-首次提出如何确保区块链分片技术的数据完整性
  14. 2021-04-26 PNP三极管
  15. 期货市场倒挂什么意思(期货市场倒挂什么意思啊)
  16. 学习java可以做什么?
  17. 2.12美团点评技术
  18. Python利用PyQt5制作一个获取网络实时数据NBA数据播报GUI
  19. 在多个 PDF 中查找文本
  20. 安卓编程 app图标自定义

热门文章

  1. 【Linux】如何在文件中写入感叹号
  2. 【java与智能设备】CH07_01_Android中的文件存储
  3. IBM服务器渠道销售招聘,热招 | IT客户服务渠道销售,我们在IBM等你!
  4. apache做yum源_svn+apache的yum源安装方式
  5. 计算机能力挑战赛_全国高校计算机能力挑战赛(基于tensorflow+python+opencv)!
  6. jeesite如何已生成数据的数据源_JeeSite如何正确连接SQL SERVER 数据库
  7. PHP 实现-多线程编程
  8. CentOS7上实现Squid缓存服务器的两种模式
  9. 为什么做AI的都选Python?
  10. 智能家居形态逐步演进 机会与挑战并存