找新朋友 HDU - 1286 欧拉函数模板题
2024-10-19 05:24:28
题意:
求出来区间[1,n]内与n互质的数的数量
题解:
典型的欧拉函数应用,具体见这里:Relatives POJ - 2407 欧拉函数
代码:
1 #include<stdio.h>
2 #include<string.h>
3 #include<iostream>
4 #include<algorithm>
5 #include<math.h>
6 using namespace std;
7 typedef long long ll;
8 const int maxn=100005;
9 int oula(int n)
10 {
11 int ans=n;
12 for(int i=2; i<=sqrt(n); ++i)
13 {
14 if(n%i==0)
15 {
16 ans=ans-ans/i;
17 n/=i;
18 while(n%i==0)
19 n/=i;
20 }
21 }
22 if(n>1)
23 ans=ans-ans/n;
24 return ans;
25 }
26 int main()
27 {
28 int t;
29 scanf("%d",&t);
30 while(t--)
31 {
32 int n;
33 scanf("%d",&n);
34 int result=oula(n);
35 printf("%d\n",result);
36 }
37 return 0;
38 }
最新文章
- vim操作
- template学习一函数模板
- Razor练习4
- jquery-通过js编写弹出窗口
- http get vs post
- Linux ncurses编写 FlapyBird 第一步
- java中的object类
- OpenLayers学习笔记5——使用jQuery UI实现查询并标注(UI篇)
- 字符编码详解 good
- JAVA控制台输入输出方法总结
- java基础:输出数组中指定位置的数据
- Java中的流程控制
- 安卓和 java 学习笔记
- C++输入输出总结_输入
- (4.5)mysql备份还原——深入解析二进制日志(1)binlog的3种工作模式与配置
- SAX解析XML笔记
- 代码生成器 CodeSmith 的使用(一)
- nginx中配置文件的讲解
- 学习中遇到的c++问题,持续更新
- nodejs request gb2312乱码的问题