Sum

时间限制:1000 ms  |  内存限制:65535 KB
难度:3
描述

给你一个数N,使得在1~N之间能够找到x使得x满足gcd( x ,  N  ) >= M,

求解gcd(x,N)的和

输入
多组测试数据

每行输出两个数N,M(N,M不超int)

输出
输出sum
样例输入
5 3
样例输出
5
上传者
ACM_张书军

欧拉定理:

欧拉定理表明,若n,a为正整数,且n,a互质;gcd(n,a)=1;

觉得维基百科比百度讲解得好些(逃了一天的课 就看了zsj的数论基础-╮(╯▽╰)╭)


http://baike.baidu.com/view/48903.htm?fr=aladdin

http://zh.wikipedia.org/wiki/%E6%AC%A7%E6%8B%89%E5%AE%9A%E7%90%86_(%E6%95%B0%E8%AE%BA)

/*在数论,对正整数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;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;
}int main()
{long long  a,b;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(a/cnt);}if(i*i!=a&&a/i>=b)//枚举i与n的因子。{cnt=a/i;c=c+cnt*Euler(a/cnt);}}}cout<<c<<endl;}
}

Sum nyoj 欧拉定理简单运用(数论入门)相关推荐

  1. matlab狄利克雷函数,数论入门1——莫比乌斯函数,欧拉函数,狄利克雷卷积,线性筛,莫比乌斯反演,杜教筛...

    数论入门1 一个菜鸡对数论的一点点理解... 莫比乌斯函数 定义函数$\mu(n)$为: 当n有平方因子时,$\mu(n)=0$. 当n没有平方因子时,$\mu(n)=(-1)^{\omega(n)} ...

  2. 【小组专题一:数论入门:整数】数和序列 | 和与积 | 数学归纳与第二数学归纳

    数论入门:整数 [1.1 数和序列] 练习中的证明: [1.2 和与积] 课后练习: [1.3 数学归纳法] 课后练习(都用数学归纳或者第二数学归纳证明): ·|· 根据<初等数论及其应用> ...

  3. 和与余数的和同余理解_5 同余 ——数论入门知识讲解系列

    数学竞赛 数论是纯粹数学的分支之一,主要研究整数的性质,按研究方法分为初等数论和高等数论.中学生(甚至小学生)课外数学兴趣小组的许多内容是属于初等数论的,各级别数学竞赛也会把初等数论作为重点内容进行考 ...

  4. 一个简单的iBatis入门例子

    一个简单的iBatis入门例子,用ORACLE和Java测试 目录结构: 1.导入iBatis和oracle驱动. ibatis-2.3.4.726.jar ojdbc14.jar 2.创建类com/ ...

  5. 简单的flask入门,自己来写网页

    简单的flask入门 简单的flask入门 我这里使用的是ubuntu系统,不是windows系统,解释器是python3.6,软件是pycharm 首先要创建虚拟环境, 因为可以创建独立的pytho ...

  6. PyMQL简单使用【入门CRUD】

    PyMQL简单使用[入门CRUD] pymysql是python3中的mysqldb(python2) 在使用这个库之前,首先你得确保自己会使用基本的SQL语句,对MySQL数据库具有一定的了解(基本 ...

  7. diybox路由器设置教程_一个简单的无线路由器入门设置教程,非常实用

    原标题:一个简单的无线路由器入门设置教程,非常实用 分享给朋友们一个简单的无线路由器入门设置教程,教大家怎么使用无线路由器.如何设置使用,非常实用. 一.无线路由器基本使用方法 1.拿到手的无线路由器 ...

  8. 用Python解决一个简单的数论问题——x分解为a^2+b^2

    考虑一个简单的数论问题,当 x 是正整数,如果可以表示为 x=a^2+b^2,让我们去求出 a 和 b 的值.显然用计算机暴力循环 x 次求解是一种可行的办法,但是当 x 为一个较大的数时,我们要浪费 ...

  9. shaderToy初学笔记(一)(​转载自最简单的ShaderToy入门 - 笑脸渲染_亨利王的博客-CSDN博客_shadertoy)

    void mainImage( out vec4 fragColor, in vec2 fragCoord ) {vec2 uv = fragCoord/iResolution.xy;uv-=.5;f ...

  10. 一图秒懂 - MD文件语法标签,最简单的markdown入门

    代码-效果图 https://rudon.blog.csdn.net/article/details/104272292 (完整代码在本文最下面) 实时查看MD文件效果 - 在线Markdown预览 ...

最新文章

  1. 原创 | 斯坦福Machine Learning with Graphs 学习笔记(第二讲)
  2. Ubuntu16.04/18.04 安装配置JDK 1.8 环境( Linux )
  3. String.format()的使用
  4. VC+MO2.0连接ArcSDE并且读出SDE中的空间数据(三)
  5. jaVa游戏三国志英杰传,《三国志英杰传》到底是怎样的一款游戏
  6. chrome浏览器上传文件延迟_UEditor chrome 点击上传文件选择框会延迟几秒才会显示...
  7. python单词的含义-Python常用英文单词有哪些?
  8. 敏捷开发系列之旅 第四站(透明的Crystal水晶方法) .
  9. 视频流媒体服务器的作用是什么?流媒体服务器功能介绍
  10. SPI通信协议以及概念
  11. L2-029 特立独行的幸福 (25 分)
  12. Uncaught initialization exception thrown by servlet
  13. Java--反编译软件
  14. Android 模拟器显示不全的解决方案
  15. mysql新加一列_mysql如何增加表中新的列?
  16. 数学建模入门书籍介绍
  17. 如何迎新年?手工自制2021年精美简朴行事历
  18. 6. 最大公约数和最小公倍数
  19. 人教版选修计算机英语,人教版高中英语选修计算机英语NetworksandtheInternet.ppt
  20. Opencv PNG抠图

热门文章

  1. 利用token 防止表单重复提交
  2. 使用openssl库实现des,3des加密
  3. SkyDrive和Google Drive比较
  4. 弱引用什么时候被回收_Java中的强软弱虚引用
  5. HTTP与HTTPS之间的联系与连接状态
  6. 用java设计一个公司局域网_java实现局域网内单对单和多对多通信的设计思路
  7. lib文件夹 springboot_我把 Spring Boot 项目从 18.18M 瘦身到 0.18M,部署起来真省事!...
  8. python unrar问题_Python提取/unrar RAR文件错误
  9. 原生js制作PC端轮播图
  10. 移动应用设计领域中最拔尖的15大应用