找新朋友(欧拉函数)
Input第一行是测试数据的组数CN(Case number,1<CN<10000),接着有CN行正整数N(1<n<32768),表示会员人数。Output对于每一个N,输出一行新朋友的人数,这样共有CN行输出。
Sample Input
2 25608 24027
Sample Output
7680 16016个人心得:找互质数,朴素算法会超时,在了解了容斥原理后,根据那个公式sum=n*(p1-1)(p2-1)...(pi-1)/p1*p2*p3...pi;p1到pi为n的素数因子。没学离散,容斥只是简单了解了下。看了还好,推导起来真的是一个头大!果断送人头出去,不玩了...绝望附上代码吧
1 #include<stdio.h> 2 #include<string.h> 3 #include<iostream> 4 #include<algorithm> 5 #include<utility> 6 #include<queue> 7 #include<set> 8 using namespace std; 9 #define k 100003 10 int n; 11 long long sum; 12 int x[10000]; 13 int flag; 14 bool prime(int x) 15 { 16 if(x<2) return false; 17 for(int i=2;i<=sqrt(x);i++) 18 if(x%i==0) return false; 19 return true; 20 21 22 } 23 void getsum() 24 { 25 flag=1; 26 long long t1=1,t2=1; 27 for(int i=2;i<n;i++) 28 if(n%i==0&&prime(i)) x[flag++]=i; 29 if(flag==1) {sum=n-1;return;} 30 for(int i=1;i<flag;i++) 31 { 32 t1*=(x[i]-1); 33 t2*=x[i]; 34 } 35 sum=n*t1/t2; 36 37 } 38 int main() 39 { 40 int t; 41 cin>>t; 42 while(t--) 43 { 44 45 sum=0; 46 cin>>n; 47 if(n==1) {cout<<"1"<<endl;continue;} 48 getsum(); 49 cout<<sum<<endl; 50 51 52 53 } 54 return 0; 55 56 57 }
转载于:https://www.cnblogs.com/blvt/p/7273987.html
找新朋友(欧拉函数)相关推荐
- hdu 1286 找新朋友 欧拉函数模版题
找新朋友 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Problem Des ...
- 洛谷P2158仪仗队(数学,观察找规律,欧拉函数)
题目链接:https://www.luogu.org/problemnew/show/P2158 读完题被吓到了,这是什么东西. 总之,需要观察+找规律啊!观察可以发现,从第三行开始,第i行中当前直角 ...
- HDU 1286 找新朋友 (欧拉函数)
找新朋友 http://acm.hdu.edu.cn/game/entry/problem/show.php?chapterid=2§ionid=1&problemid=8 T ...
- HDU1286 找新朋友【欧拉函数】
找新朋友 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submissi ...
- hdu 1286 找新朋友 (容斥原理 || 欧拉函数)
Problem - 1286 用容斥原理做的代码: 1 #include <cstdio> 2 #include <iostream> 3 #include <algor ...
- 欧拉函数 euler
O - 找新朋友 1.欧拉函数 euler() 在数论,对正整数n,欧拉函数是 少于或等于n的数中与n 互质 的数的数目. 互质:公约数只有 1 的两个整数,称为互质整数.即 最大的公约数也就是 1 ...
- 杭电1286找新朋友
找新朋友 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- BZOJ3884上帝与集合的正确用法-欧拉函数
刚开始我想的是欧拉降幂,可是觉得复杂度还是挺高的就去找了一下题解. 思路大方向没有问题,仍然是使用欧拉函数降低指数然后递归处理.但是不是简单的使用欧拉降幂而是应该对模数p稍微处理一下.因为底数已经确定 ...
- LightOJ 1370 Bi-shoe and Phi-shoe(欧拉函数)
题意:题目给出一个欧拉函数值F(X),让我们求>=这个函数值的最小数N,使得F(N) >= F(X); 分析:这个题目有两种做法.第一种,暴力打出欧拉函数表,然后将它调整成有序的,再建立一 ...
- HDOJ 1286 HDU 1286 找新朋友 ACM 1286 IN HDU
MiYu原创, 转帖请注明 : 转载自 ______________白白の屋 题目描述: http://acm.hdu.edu.cn/showproblem.php?pid=1286 ...
最新文章
- linux交换分区的优化-参数优化必选
- axios的简单使用
- 01_关于TensorFlow、什么是数据流图(Data Flow Graph)、TensorFlow的特征、谁可以使用Tensorflow、为啥Google要开源这个神器?
- 榴莲还有奶油、花生味 印尼出新品售价近7000人民币
- oracle sal01,oracle中 all any in的用法
- Python:绘图保存时出现空白图像的解决和如何保存图片
- sql:数据操作语言dml
- 基于lfslivecd-x86-6.3-r2145安装vnc和qemu
- Python 3.6+Django开发入门小案例(自动变化的问候)完整步骤
- [精华][推荐]CAS SSO 实现单点登录实例源码
- web项目中js加载慢问题解决思路
- springmvc重定向到另一个项目_SpringMVC结合Ajax、请求转发重定向、视图解析器
- JAVA DES加密解密代码范例
- android接入qq广告,QQ接入华为HMS 安卓生态迎巨变?
- 【建议收藏】2021年中高级Android大厂面试秘籍,为你保驾护航金三银四,直通大厂
- React + Ant Design Pro项目实现keep-alive页签
- fanyibishe
- 想要定制个性化语音?来试试这几个配音软件
- 网络直播对网络的要求有多高
- Uipath IIF判断使用
热门文章
- AI 质检学习报告——实践篇——第三步:python利用OpenCV打开摄像头截图后实现图片识字
- 【Python3】Tensorflow_Fasterrcnn训练自己数据集,Keras_Yolov3_GPU训练自己数据集
- 【Linux】一步一步学Linux——pstree命令(120)
- linux的svn同步文件在哪里,linux svn服务器同步文件在哪里
- php image处理,PHP图像处理之imagecreate、imagedestroy函数介绍
- Java协作开发,Java开发学习笔记之八:servlet之间的协作
- idea 自动添加doc_interllij idea生成javadoc
- 正则表达式加golang爬虫爬取经典案例豆瓣top250
- C专家编程—分析signal函数的原型声明{void (*signal(int sig,void (*func)(int)))(int)}(2)
- 6 Git 分支 - 变基