4K - 找新朋友
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 - 找新朋友的更多相关文章
- hduoj 1286 找新朋友
http://acm.hdu.edu.cn/showproblem.php?pid=1286 找新朋友 Time Limit: 2000/1000 MS (Java/Others) Memory Li ...
- hdu 1286:找新朋友(数论,欧拉函数)
找新朋友 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- hdoj 1286 找新朋友【欧拉函数】
找新朋友 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- 【欧拉函数】【HDU1286】 找新朋友
找新朋友 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- hdoj 1286 找新朋友 【数论之欧拉函数】
找新朋友 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- 【HDOJ 1286】找新朋友
找新朋友 Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total Submissi ...
- 欧拉函数之HDU1286找新朋友
找新朋友 Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total Submissi ...
- hdu_1286找新朋友(欧拉定理)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1286 找新朋友 Time Limit: 2000/1000 MS (Java/Others) M ...
- hdu 1286 找新朋友 欧拉函数模版题
找新朋友 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Problem Des ...
随机推荐
- struts2与spring整合时需要注意的点
首先我们需要明白spring整合struts2中的什么东西,spring中的核心就是IOC和AOP,IOC是对象的容器,AOP是处理动态代理的;比如spring与hibernate整合时就要用到aop ...
- 吴裕雄 05-mysql删除数据库
drop database <数据库名>; 例如删除名为 RUNOOB 的数据库:drop database RUNOOB; 使用 mysqladmin 删除数据库你也可以使用 mysql ...
- mysql-5.5.20预编译安装
1.MYSQL数据库概念 1)MYSQL是一款关系型数据库系统,数据之间有互相联系,互相的关联和调用的. 2)MYSQL数据用于存储:WEB网站用户名和密码等 3)MYSQL存储数据库是通过二维表格形 ...
- Linux 创建用户 限制SFTP用户只能访问某个目录
Linux 限制SFTP用户只能访问某个目录 1. 新建用户并设置密码 > useradd suser > passwd suser // 输入密码 2. 设置sshd配置文件 > ...
- JAVA语言 第六周
时间太快了,过几天就要去学校了.在家里学习不下去,一点不心静.学习也不如刚放假的时候了. 活在被开学支配的恐惧下,每天看一会儿视频(书是真的难看下去). 效果不明显,这个暑假已经被拉开差距 了.提前几 ...
- vue分页 点击(非下拉)
1.主页面 <template> <div class="list"> <template v-if="count"> 55 ...
- 用pandas读取excel报错
用pandas.read_execl()方法读取excel文件报错. 后来导入xlrd第三方库,就好了.
- python中的文件的读写
python中的 w+ 的使用方法:不能直接 write() 后,在进行读取,这样试读不到数据的,因为数据对象到达的地方为文件最后,读取是向后读的,因此,会读到空白,应该先把文件对象移到文件首位. f ...
- 解决python3.6的UnicodeEncodeError: 'gbk' codec can't encode character '\xbb' in position 28613: illegal multibyte sequence
这是python3.6的print()函数自身有限制,不能完全打印所有的unicode字符. 主要的是windows下python的默认编码不是'utf-8',改一下python的默认编码成'utf- ...
- User-Defined Components Must Be Capitalized
[User-Defined Components Must Be Capitalized] When an element type starts with a lowercase letter, i ...