NYOJ 479 Coprimes
来源:互联网 发布:linux教程 唐凯 编辑:程序博客网 时间:2024/05/18 06:23
Coprimes
时间限制:500 ms | 内存限制:4096 KB
难度:1
- 描述
- For given integer N (1<=N<=104) find amount of positive numbers not greater than N that coprime with N. Let us call two positive integers (say, A and B, for example) coprime if (and only if) their greatest common divisor is 1. (i.e. A and B are coprime iff gcd(A,B) = 1).
- 输入
- Input file contains integer N.( 注意:程序以文件结束符“EOF”结束输入。)
- 输出
- Write answer in output file. 每个数字占一行。
- 样例输入
9
- 样例输出
6
思路:题目比较简单,就是求n以内与n的最大公约数为1的数的个数。
#include <stdio.h>int gcd(int m, int n){int r = n;while (r != 0){r = m % n;m = n;n = r;}return m;}int main(){int i,n;while (scanf("%d",&n) != EOF){int total = 0;for (i=1; i<n; i++){if (gcd(i,n) == 1){total++;}}printf("%d\n",total);}return 0;}
如果一个质数p整除n,那么当前就有(1-1/p)个数与它的最大公约数不被p整除,累乘即可得出结果。
#include <stdio.h>int main(void){ int i,n,total; while (scanf("%d", &n) != EOF){total = n;for (i=2; i<=n; i++){if (n % i == 0){total = total / i * (i-1);}while (n % i == 0){n /= i;}}printf("%d\n",total);} return 0;}
0 0
- NYOJ 479 Coprimes
- NYOJ 479题 Coprimes
- NYOJ 479 Coprimes
- nyoj-479-Coprimes
- NYOJ-479 Coprimes【欧拉函数】
- Coprimes
- SGU102 Coprimes
- sgu102:Coprimes
- 102. Coprimes
- SGU102 Coprimes
- SGU102 Coprimes
- SGU102 Coprimes
- SGU102 Coprimes
- [SGU]102. Coprimes
- Sgu 102. Coprimes
- sgu 102 Coprimes 互质
- SGU 102 - Coprimes(简单)
- UVa10637 - Coprimes(DFS,GCD)
- OCP-1Z0-053-V13.02-616题
- TCP/IP详解学习笔记(8)-DNS域名系统
- GLSL变换颜色的三角形(C语言)
- TCP/IP详解学习笔记(9)-TCP协议概述
- CodeForces 390C Inna and Candy Boxes
- NYOJ 479 Coprimes
- TCP/IP详解学习笔记(10)-TCP连接的建立与中止
- Top K 算法详解
- apache+tomcat,ngix+tomcat使用场景
- OCP-1Z0-053-200题-37题-616
- 几个论坛移植tvheadend的文章
- TCP/IP详解学习笔记(11)-TCP交互数据流,成块数据流
- Jquery AutoComplete的使用方法实例
- 图像2