hdu1286

找新朋友

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 5174    Accepted Submission(s): 2652

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<iostream>
  2. #include<cstdio>
  3. #include<string>
  4. using namespace std;
  5. int x[32768];
  6. int main()
  7. {
  8.     int t,n,i,j,sum;
  9.     while(scanf("%d",&t)!=EOF)
  10.     {
  11.         while(t--)
  12.         {
  13.             scanf("%d",&n);
  14.             sum=0;
  15.             memset(x,0,sizeof(x));
  16.             for(i=2;i<n;i++)
  17.             {
  18.                 if(n%i==0&&x[i]==0)
  19.                 {
  20.                     for(j=i;j<n;j+=i)
  21.                     {
  22.                         x[j]=1;
  23.                     }
  24.                 }
  25.             }
  26.             for(i=1;i<n;i++)
  27.             {
  28.                 if(x[i]==0)
  29.                     sum++;
  30.             }
  31.             printf("%d\n",sum);
  32.         }
  33.     }
  34.     return 0;
  35. }

 

 

 

 

 

在数论,对正整数n,欧拉函数<math>\varphi(n)</math>是少于或等于n的数中与n互质的数的数目。此函数以其首名研究者欧拉命名,它又称为Euler's totient function、φ函数、欧拉商数等。

例如<math>\varphi(8)=4</math>,因为1,3,5,7均和8互质。

从欧拉函数引伸出来在环论方面的事实和拉格朗日定理构成了欧拉定理的证明。

[编辑]φ函数的值

<math>\varphi(1)=1</math>(唯一和1互质的数就是1本身)。

若n是质数p的k次幂,<math>\varphi(n)=p^a-p^=(p-1)p^</math>,因为除了p的倍数外,其他数都跟n互质。

欧拉函数是积性函数——若m,n互质,<math>\varphi(mn)=\varphi(m)\varphi(n)</math>。证明:设A, B, C是跟m, n, mn互质的数的集,据中国剩余定理,<math>A \times B</math>和C可建立一一对应的关系。因此<math>\varphi(n)</math>的值使用算术基本定理便知,

若<math>n = \prod_{p\mid n} p^{\alpha_p}</math>,

则<math>\varphi(n) = \prod_{p\mid n} p^{\alpha_p-1}(p-1) = n\prod_{p|n}\left(1-\frac\right)</math>。

例如<math>\varphi(72)=\varphi(2^3\times3^2)=2^(2-1)\times3^(3-1)=2^2\times1\times3\times2=24</math>

[编辑]与欧拉定理、费马小定理的关系

对任何两个互质的正整数a, m,<math>m\ge2</math>,有

<math>a^{\varphi(m)} \equiv 1 \pmod m</math>

即欧拉定理

当m是质数p时,此式则为:

<math>a^ \equiv 1 \pmod p</math>

即费马小定理。

 
posted @ 2013-03-12 22:08  哥的笑百度不到  阅读(123)  评论(0编辑  收藏  举报