新年快到了,“猪头帮协会”准备搞一个聚会,已经知道现有会员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 // 辗转相除法求公约数
 #include<stdio.h>

 int cmd(int a, int b)
{
int t=;
if(a<b)
{ t=a; a=b; b=t; }
while(t!=)
{ t=a%b; a=b; b=t; }
return a;
} int main()
{
int cn, n, c, i;
scanf("%d", &cn);
while(cn--)
{
c=;
scanf("%d", &n);
for(i=;i<n;i++)
if(cmd(i,n)>)
c++;
printf("%d\n", n-c-);
}
return ;
}

Time Limit Exceeded

// 先打表求素数,用i遍历[2,N),用j遍历[2,i]. 寻找不大于i的素数j,判断其是否为i与N的公约数
 #include<stdio.h>

 int prime(int n)
{
int i, flag=, k;
for(i=; i*i<=n; i++)
if(n%i==)
{ flag=; break; }
return flag;
} int main()
{
int cn, n, c, i,j,flag, pri[]={};
for(i=;i<=;i++)
if(prime(i))
pri[i]=;
scanf("%d", &cn);
while(cn--)
{
c=;
scanf("%d", &n);
for(i=;i<n;i++)
{
flag=;
for(j=;j<=i;j++)
if(pri[j])
if(i%j==&&n%j==)
{ flag=; break; }
if(flag) c++;
}
printf("%d\n", n-c-);
}
return ;
}

Time Limit Exceeded*2

// Compiler Error C2103:You cannot take the address of a register.
 #include<stdio.h>
int main()
{
register int cn, n;
scanf("%d", &cn);
while(cn--)
{
scanf("%d", &n);
int a[]={};
for(register int i=;i<=n/;i++)
{
if(n%i==)
for(register int j=;i*j<n;j++)
a[i*j]=;
}
int c=;
for(register int i=;i<n;i++)
c+=a[i];
printf("%d\n", n-c-);
}
return ;
}

Compilation Error

// 若一个数是N除1以外的因子,那么它不超过N的倍数也是N的因子.
// i找因子,j控制倍数,下标为会员号码. 只有新朋友的值为0.
 #include<stdio.h>
int main()
{
int cn, n;
scanf("%d", &cn);
while(cn--)
{
scanf("%d", &n);
int a[]={};
for(int i=;i<=n/;i++)
{
if(n%i==)
for(int j=;i*j<n;j++)
a[i*j]=;
}
int c=;
for(int i=;i<n;i++)
c+=a[i];
printf("%d\n", n-c-);
}
return ;
}

AC

												

4K - 找新朋友的更多相关文章

  1. hduoj 1286 找新朋友

    http://acm.hdu.edu.cn/showproblem.php?pid=1286 找新朋友 Time Limit: 2000/1000 MS (Java/Others) Memory Li ...

  2. hdu 1286:找新朋友(数论,欧拉函数)

    找新朋友 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  3. hdoj 1286 找新朋友【欧拉函数】

    找新朋友 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  4. 【欧拉函数】【HDU1286】 找新朋友

    找新朋友 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  5. hdoj 1286 找新朋友 【数论之欧拉函数】

    找新朋友 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  6. 【HDOJ 1286】找新朋友

    找新朋友 Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total Submissi ...

  7. 欧拉函数之HDU1286找新朋友

    找新朋友 Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total Submissi ...

  8. hdu_1286找新朋友(欧拉定理)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1286 找新朋友 Time Limit: 2000/1000 MS (Java/Others)    M ...

  9. hdu 1286 找新朋友 欧拉函数模版题

    找新朋友 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Problem Des ...

随机推荐

  1. Jsp基本语法 第二章

    今天是星期天,我学习了关于Jsp的一些基本页面元素 首先学习了一些基本页面注释 1.HTML的注释 <!-- htmI注释-->//    客户端可见 2.JSP的注释:  <%-- ...

  2. python 任务调度模块sched

    类似于crontab的功能,可以实现定时定点执行任务; 将已经生成的任务放入队列中,获取到了执行可以实现任务调度功能; 如果将需求复杂化,加上优先级策略,并能取消已经加入队列中的任务,就需要使用pyt ...

  3. js文件引用js文件

    我的问题是: a.jsp   b.js  c.js a.jsp  需要引用 b.js 里面的内容 <head> <script type="text/javascript& ...

  4. IDEA 中的一些概念变化

    IntelliJ系中的Project相当于Eclipse系中的workspace. IntelliJ系中的Module相当于Eclipse系中的Project. idea中只能配置一个maven,而且 ...

  5. Django中使用mysql数据库并使用原生sql语句操作

    Django自身默认使用sqlite3这个轻量级的数据库,但是当我们开发网站时,sqlite3就没有mysql好,sqlite3适合一些手机上开发使用的数据库. 准备的软件mysql数据库,版本5.7 ...

  6. 案例:Spark基于用户的协同过滤算法

    https://mp.weixin.qq.com/s?__biz=MzA3MDY0NTMxOQ==&mid=2247484291&idx=1&sn=4599b4e31c2190 ...

  7. CSS 盒子大小

    盒子的宽和高 盒子的大小通过宽和高来指定. 默认情况下,盒子的大小刚好容纳其中的内容. 两个属性设置盒子的宽和高 width 设置宽 height 设置高 示例: 1 2 3 4 5 6 7 8 9 ...

  8. Linux下修改tab建为4个空格

    1.编辑 vim /etc/vim/vimrc 2.修改 set ts=4 set expandtab set autoindent 其实只要set ts=4 就ok了.

  9. Avatar

    [Avatar] 1.Retargeting of Humanoid animations Retargeting is only possible for humanoid models, wher ...

  10. Linus运行jar包的操作

    cd /    返回最顶层文件夹cd home/numa        进入home下的numa文件夹ll         查看当前文加夹下的所有文件ps -ef | grep java        ...