zoukankan      html  css  js  c++  java
  • 【SGU 102】Coprimes

    102. Coprimes

    time limit per test: 0.5 sec.
    memory limit per test: 4096 KB

    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

    Input file contains integer N.

    Output

    Write answer in output file.

    Sample Input

    9
    

    Sample Output

    6

       题目让求小于N且与N互质的数的个数。因为看范围貌似暴力就可以,所以我就写了欧拉函数(= =!)
    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <cstdlib>
    #include <cmath>
    using namespace std;
    
    int n;
    
    int phi(int x){
    	int ans=x;
    	for(int i=2;i<(int)sqrt(x*1.0)+1;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(){
    	scanf("%d",&n);
    	printf("%d\n",phi(n));
    	return 0;
    }
    

  • 相关阅读:
    javaEE_maven_struts2_tomcat_first
    企业框架-Spring
    MyBatis延迟加载及缓存
    MyBatis注解及动态Sql
    框架之MyBatis
    SQL中的一些关键字用法
    Mysql————基本sql语句
    表单验证
    java中的锁——列队同步器
    线程同步Lock锁
  • 原文地址:https://www.cnblogs.com/Delostik/p/2140467.html
Copyright © 2011-2022 走看看