杭电acm 1286 找新朋友
来源:互联网 发布:广东富云软件科技 编辑:程序博客网 时间:2024/05/21 09:24
#include<stdio.h>
#include<math.h>
#include<string.h>
int b[38000];
void f(int n)
{
int a[32],i=0,j,k,count=0,l,flog;
l=n;
j=2;
flog=0;
memset(b,0,sizeof(b));
while(j<=n)//提取因子且提取出来的因子不重复
{
if(n%j==0)
{
if(flog==0)
{
a[i]=j;
i++;
flog=1;
}
n=n/j;
}
else
{
flog=0;
j++;
}
}
for(k=0;k<=i-1;k++)
{
for(j=1;j<=l/a[k];j++)
b[j*a[k]]=1;
}
for(i=1;i<l;i++)
{
if(b[i]==0)
count++;
}
printf("%d\n",count);
}
int isprime(int n)//判断素数
{
int i,j;
j=1;
if(n==1||n==2||n==3)
j=1;
else
{
for(i=2;i<=sqrt(n);i++)
{
if(n%i==0)
{
j=0;
break;
}
}
}
return j;
}
int main()
{
int CN,N,i,j;
scanf("%d",&CN);
while(CN--)
{
j=0;
scanf("%d",&N);
if(isprime(N))
{
printf("%d\n",N-1);
}
else
{
f(N);
}
}
return 0;
}
此题用常规方法容易超时。
- 杭电acm 1286 找新朋友
- 找新朋友(杭电1286)
- 杭电1286找新朋友
- 【杭电 1286】找新朋友
- 找新朋友 HDU杭电1286 【欧拉函数】
- [ACM Steps]找新朋友
- [ACM] hdu 1286 找新朋友(欧拉函数)
- HDU ACM 1286-找新朋友-欧拉phi函数
- 【杭电oj】1286 - 找新朋友(欧拉公式)
- HDU 1286 找新朋友
- Hdu 1286 找新朋友
- hdu 1286 找新朋友
- hdu 1286 找新朋友
- HDU 1286 找新朋友
- hdu 1286-找新朋友
- hdu 1286 找新朋友
- hdu 1286 找新朋友
- HDU 1286 找新朋友
- C++面向对象总结
- 华为十大内耗问题浅析
- HTML 本地存储
- 安装ADT时失败
- 随便说说
- 杭电acm 1286 找新朋友
- 我用c++写的一个多项式的处理器的核心部分和输出部分。实现多项式的加法,减法,乘法,除法,及其求余。
- 通过SoapHeader来增强Web Service的安全性
- android makefile分析及build( 转载)
- linux下的so、o、lo、a、la文件有什么区别
- 验证是否为数字的代码
- 涉及中文的base64编码方法
- MKMapView Sample Code
- 装机热ubuntu fedora opensuse