zoukankan      html  css  js  c++  java
  • 找新朋友

    题解 欧拉函数

    Problem Description

    新年快到了,“猪头帮协会”准备搞一个聚会,已经知道现有会员N人,把会员从1到N编号,其中会长的号码是N号,凡是和会长是老朋友的,那么该会员的号码肯定和N有大于1的公约数,否则都是新朋友,现在会长想知道究竟有几个新朋友?请你编程序帮会长计算出来。

    Input

    第一行是测试数据的组数CN(Case number,1<CN<10000),接着有CN行正整数N(1<n<32768),表示会员人数。

    Output

    对于每一个N,输出一行新朋友的人数,这样共有CN行输出。

    Sample Input

    2

    25608

    24027

    Sample Output

    7680

    16016

     1 #include<stdio.h>
     2 
     3 #include<math.h>
     4 
     5 
     6 
     7 int enlerFun(int n)
     8 
     9 {
    10 
    11 int count=n;
    12 
    13 int i=2;
    14 
    15 for(;i<=n;i++)
    16 
    17 if(n%i==0)
    18 
    19 {
    20 
    21 count-=count/i;
    22 
    23 while(n%i==0)
    24 
    25 n/=i;
    26 
    27 }
    28 
    29 return count;
    30 
    31 }
    32 
    33 
    34 
    35 int main()
    36 
    37 {
    38 
    39 int cn,n;
    40 
    41     scanf("%d",&cn);
    42 
    43 while(cn--)
    44 
    45 {
    46 
    47 int count=0;
    48 
    49 scanf("%d",&n);
    50 
    51 count=enlerFun(n);
    52 
    53 printf("%d
    ",count);
    54 
    55 }
    56 
    57 return 0;
    58 
    59 }
  • 相关阅读:
    php-基于面向对象的MySQL类
    php-迭代创建级联目录
    php-删除非空目录
    php-递归创建级联目录
    linux 用户管理
    mysql 语法大全
    dos命令下修改mysql密码的方法
    对 linux init.d的理解
    linux 重启服务器命令
    校验软件包
  • 原文地址:https://www.cnblogs.com/awsent/p/4267110.html
Copyright © 2011-2022 走看看