• P1174 互素


    P1174 互素

    时间: 1000ms / 空间: 131072KiB / Java类名: Main

    描述

        对于某个数n,,我们这次的工作仅是求出小于n且和n互质的数的个数,,比如n=10时 1,3,7,9均与10互质

    //互质的定义是gcd(a,b)=1

    输入格式

    输入只有一行,一个数N1<=N<=2,000,000,000)。

    输出格式

    输出也只有一行,输出和小于n且和n互质的数的个数

    测试样例1

    输入

    10

    输出

    4

    ----------------------------------------------------------------------------------------

     * 欧拉函数是指:对于一个正整数n,小于n且和n互质的正整数(包括1)的个数,记作φ(n) 

    通式:φ(x)=x*(1-1/p1)*(1-1/p2)*(1-1/p3)*(1-1/p4)..(1-1/pn),其中p1, p2……pn为x的所有质因数,x是不为0的整数。φ(1)=1(唯一和1互质的数就是1本身)。

    -------------------------------------------------------------------------------------------------------------------

    评测状态 Accepted

    题目 P1174 互素

    提交时间 2016-03-27 09:21:23

    代码语言 Java

    消耗时间 1325 ms

    消耗内存 14288 KiB

    ----------------------------------------------------------------

    import java.util.Scanner;
    public class Main {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Scanner sc=new Scanner(System.in);
            while(sc.hasNext()){
                int n=sc.nextInt();
                int i;
                int cnt=n;
                for(i=2;n!=1;i++){
                    if(n%i==0){
                        cnt-=cnt/i;
                        while(n%i==0) n/=i;
                    }
                }
                System.out.println(cnt);
            }
            sc.close();
    
        }
    
    }
  • 相关阅读:
    shell_02
    shell_practise
    Shell_01
    PythonDay_03
    PythonDay_02
    PythonDay_01
    面试题32:从上到下打印二叉树
    面试题 31 : 栈的压入、弹出序列
    面试题20 : 表示数值的字符串
    面试题29:顺时针打印矩阵
  • 原文地址:https://www.cnblogs.com/watchfree/p/5325573.html
Copyright © 2020-2023  润新知