HDU 1286 找新朋友
2015-06-08 17:04
148 查看
[align=left]Problem Description[/align] 新年快到了,“猪头帮协会”准备搞一个聚会,已经知道现有会员N人,把会员从1到N编号,其中会长的号码是N号,凡是和会长是老朋友的,那么该会员的号码肯定和N有大于1的公约数,否则都是新朋友,现在会长想知道究竟有几个新朋友?请你编程序帮会长计算出来。 |
[align=left]Input[/align] 第一行是测试数据的组数CN(Case number,1<CN<10000),接着有CN行正整数N(1<n<32768),表示会员人数。 |
[align=left]Output[/align] 对于每一个N,输出一行新朋友的人数,这样共有CN行输出。 |
[align=left]Sample Input[/align]2 25608 24027 |
[align=left]Sample Output[/align]7680 16016 |
p2……pn为x的所有质因数,x是不为0的整数。而此道题,就是需要求出当x=N时的函数值。
代码如下:
#include <stdio.h> #include <stdlib.h> #include <math.h> /* run this program using the console pauser or add your own getch, system("pause") or input loop */ int euler(int a) { int x=1; int i; for(i=2;i<=sqrt(a);i++) { if(a%i==0) { a/=i;x*=i-1; while(a%i==0) { a/=i; x*=i;} } } if(a>1) x*=(a-1); return x; } int main(int argc, char *argv[]) { int n,a; scanf("%d",&n); while(n--) { scanf("%d",&a); printf("%d\n",euler(a)); } return 0; }
相关文章推荐
- 未来规划
- 泪奔在最后时刻
- c++ pair类型
- 一 100万并发连接服务器笔记之准备篇
- android 数据库事务
- HDU--2114
- Spring mvc-异常javax.servlet.ServletException: Could not resolve view with name 'xxx' in servlet with name 'spring'
- 知识收集
- salt openstack生成随机字符串
- (ML foundation)break point & VC bound
- Spring -- AOP 优缺点
- Spring -- AOP 优缺点
- Spring -- AOP 优缺点
- jquery div模态窗口
- pintos操作系统thread部分的实现
- IO-06 输出短句II(5)
- linux程序设计——linux环境(第四章)
- Struts框架学习之拦截器
- spring整合struts2
- Android Bundle类别