GCD

时间限制:1000 ms  |  内存限制:65535 KB
难度:3
描述
The greatest common divisor GCD(a,b) of two positive integers a and b,sometimes written (a,b),is the largest divisor common to a and b,For example,(1,2)=1,(12,18)=6.
(a,b) can be easily found by the Euclidean algorithm. Now Carp is considering a little more difficult problem:
Given integers N and M,please answer sum of  X satisfies 1<=X<=N and (X,N)>=M.

输入
The first line of input is an integer T(T<=100) representing the number of test cases. The following T lines each contains two numbers N and M (1<=N<=10^9, 1<=M<=10^9), representing a test case.
输出
Output the answer mod 1000000007
样例输入
3
1 1
10 2
10000 72
样例输出
1
35
1305000
上传者
ACM_张书军

题意:Given integers N and M,please answer sum of  X satisfies 1<=X<=N and (X,N)>=M./*就在这一句了*/
给你两个数 N M 求1~N 之间所有gcdx的和
/*在数论,对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目。*/
/*思路:枚举n的因子。
假设n的因子为d。d*gcd(x/d,n/d)=1。
d*Euler(n/d)就是因子为gcd(x,n)=d,从而求gcd(x,n)的和。*/#include<stdio.h>
#include<string.h>
#include<iostream>
using namespace std;
const int mod=1000000007;
long long Euler(long long n)//欧拉函数
{long long c=n,i;for(i=2; i*i<=n; i++){if(n%i==0){while(n%i==0) n/=i;c=c/i*(i-1);//φ(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…..(1-1/pn);}}if(n!=1)c=c/n*(n-1);return c;
}
//求 x和
long long Euler_sum(long long n)
{if(n==1)return 1;elsereturn n*Euler(n)/2;
}int main()
{long long  a,b;int t;cin>>t;while(t--){while(cin>>a>>b){int cnt;long long i,c=0;for(i=1; i*i<=a; i++){if(a%i==0){if(i>=b){cnt=i;//- -c=(c+cnt*Euler_sum(a/cnt))%mod;}if(i*i!=a&&a/i>=b)//枚举i与n的因子。{cnt=a/i;c=(c+cnt*Euler_sum(a/cnt))%mod;}}}cout<<c<<endl;}}
}

GCD nyoj1007(欧拉函数运用数论入门)相关推荐

  1. UVA10179 Irreducable Basic Fractions【欧拉函数+数论】

      A fraction m / n is basic if 0 ≤ m < n and it is irreducible if gcd(m, n) = 1. Given a positive ...

  2. hdu 4983 Goffi and GCD(欧拉函数)

    Problem Description Goffi is doing his math homework and he finds an equality on his text book: gcd( ...

  3. 牛客小白月赛12 D 月月给华华出题 (欧拉函数,数论,线筛)

    链接:https://ac.nowcoder.com/acm/contest/392/D 来源:牛客网 月月给华华出题 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 131072K, ...

  4. 51Nod-1136 欧拉函数【数论】

    1136 欧拉函数 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目.此函数以其首名研究者欧拉命名,它又称为Eu ...

  5. 4939 欧拉函数[一中数论随堂练]

    4939 欧拉函数  时间限制: 1 s  空间限制: 1000 KB  题目等级 : 钻石 Diamond 题解 题目描述 Description 输入一个数n,输出小于n且与n互素的整数个数 输入 ...

  6. 数学/数论专题:莫比乌斯函数与欧拉函数

    数学/数论专题:莫比乌斯函数与欧拉函数(进阶) 0. 前言 1. 前置知识 2. 正文 3. 总结 4. 参考资料 0. 前言 本篇文章会从狄利克雷卷积的角度,讨论莫比乌斯函数与欧拉函数的相关性质. ...

  7. ACM - 欧拉函数(内容)

    欧拉函数 : 欧拉函数是数论中很重要的一个函数,欧拉函数是指:对于一个正整数 n ,小于 n 且和 n 互质的正整数(包括 1)的个数,记作 φ(n) . 完全余数集合: 定义小于 n 且和 n 互质 ...

  8. 欧拉函数公式及其证明

    以下转自 百度文库 炒鸡好QAQ 欧拉函数 : 欧拉函数是数论中很重要的一个函数,欧拉函数是指:对于一个正整数 n ,小于 n 且和 n 互质的正整数(包括 1)的个数,记作 φ(n) . 完全余数集 ...

  9. 欧拉函数(dayn)

    欧拉函数 基础数论复习 - zjp_shadow - 博客园 定义:欧拉函数表示1-N中与N互质的数的个数: 给定一个数n,求在[1,n]这个范围内两两互质的数的个数 对于这个范围内的每一个数,我们只 ...

  10. 欧拉函数+欧拉定理+拓展欧拉定理(欧拉降幂)

    目录 欧拉函数 欧拉定理 拓展欧拉定理(欧拉降幂) 欧拉函数 在数论中,有正整数n,欧拉函数是小于n的正整数中与n互质的数的数目. 它的通式如下: φ(n)=n*(1-1/p1)*(1-1/p2)*( ...

最新文章

  1. Python从入门到精通- 什么是NumPy? (上)
  2. lnmp安装博客系统WordPress
  3. ExtJS在树TreePanel之间拖放结点
  4. Activiti工作流内建数据库表分析
  5. Linux 下qt 程序打包发布(使用linuxdelpoyqt ,shell 脚本)
  6. Axure RP 简介
  7. 10.IDA-基本操作
  8. 反射和内省_单例设计模式–内省和最佳实践
  9. 蓝牙耳机按键事件linux,调用蓝牙耳机的按键,或者有线耳机的按键方法?
  10. 通过中序线索二叉树找某节点的后续前驱☆
  11. 扫地机器人的特点描写_扫地机器人的特点是什么
  12. jenkins使用流程
  13. 关于MSHTML、IHTMLDocument、Ihtmldocument2-5的区别及 document.execCommand方法详解
  14. 64位oracle plsql developer 下载地址,plsql developer
  15. html图片轮播效果加链接,HTML首页怎么加图片轮播?
  16. Alertmanager 官方文档翻译
  17. div实现拖动时候出现禁止图标解决——e.preventDefault e.preventDefault();
  18. Valley Numer
  19. mysql连接navicat premium 15的具体方法 附navicat的官网连接
  20. mysql中flush用法,flush 的常规用法:

热门文章

  1. 解决:VB.NET程序中 datagridview 多次绑定出现 的“不能在数据绑定的 DataGridView 控件上设置 ColumnCount...
  2. 适合程序员的机器人编程c语言,技术干货六:机器人编程的C++基础知识
  3. autoit选中图标无反应_ps图标教学,使用小技巧。
  4. 获取当前 jar 包的运行路径
  5. Spring Security简介和认识
  6. 4.json字符串转换集json对象、json对象转换json字符串
  7. Vue上传文件之后显示文件内容
  8. 多叉树的深度优先遍历并输出叶子路径
  9. 纯CSS Lightbox效果
  10. Forrester告诫CIO们:谨慎应用区块链网络