gcd简单应用
来源:互联网 发布:二叉排序树算法java 编辑:程序博客网 时间:2024/05/18 22:43
相等的最小公倍数Time Limit: 1000 MSMemory Limit: 65536 KTotal Submit: 145(55 users)Total Accepted: 63(44 users)Rating: Special Judge: NoDescription
首先判断该数n是否为素数,,是素数的话,,An An-1不可能相等,,因为An会比An-1 乘上一个更大的新素数。。
定义An为1,2,…,n的最小公倍数,例如,A1 = 1,A2 = 2,A3 = 6,A4 = 12,A5 = 60,A6 = 60。
请你判断对于给出的任意整数n,An是否等于An – 1。
Input本题有多组测试数据,输入的第一行是一个整数T代表着测试数据的数量,接下来是T组测试数据。
对于每组测试数据:
第1行 包含一个整数n (2 ≤ n ≤ 106)。
Output对于每组测试数据:
第1行 如果An等于An-1则输出YES否则输出NO。
Sample Input1
6
Sample OutputYES
Source哈理工2012春季校赛热身赛 2012.04.03Author齐达拉图@HRBUST首先判断该数n是否为素数,,是素数的话,,An An-1不可能相等,,因为An会比An-1 乘上一个更大的新素数。。
然后在n不是素数的前提下,,判断n是否存在 一对互素的因子..即n=a*b(a,b互素)(即gcd(a,b)==1).存在则输出YES
/**怎么判断相邻两个数的lcm是否相等.**/#include<iostream>#include<cstdio>#include<cmath>using namespace std;int gcd(int a,int b){ if(b==0) return a; else return gcd(b,a%b);}int main(){ int T,n; scanf("%d",&T); while(T--) { int i; bool p=true; scanf("%d",&n); int temp=(int)sqrt((double)n); if(n==2) { printf("NO\n");continue; } for(i=2;i<=temp;i++) if(n%i==0) break; if(i==temp+1) { printf("NO\n");continue; } for(i=2;i<=temp;i++) { if(n%i==0) { int q=n/i; if(gcd(q,i)==1) { p=false;break; } } } if(p) printf("NO\n"); else printf("YES\n"); } return 0;}
0 0
- gcd简单应用
- GCD 多线程的简单应用
- GCD的简单应用--异步加载图片
- HDU2588 GCD 欧拉函数简单应用
- GCD应用
- poj 1061 青蛙的约会 扩展gcd的简单应用
- GCD的应用
- GCD多线程应用
- GCD常用的应用
- GCD应用拓展
- GCD实际应用
- GCD 线程的应用
- GCD线程的应用
- 简单的gcd函数
- GCD的简单用法
- GCD的简单用法
- GCD的简单用法
- GCD的简单实用
- Linux终端:运行自定义命令而不是Shell,造成终端总是闪退
- MYSQL INTO OUTFILE, LOAD DATA INFILE
- Weibo LAMP演变 – 6月在上海分享的PPT
- Ubuntu下gcc安装及使用
- ivf
- gcd简单应用
- web.xml配置详细介绍
- 从零开始学习cocoStudio(3)--GUI学习(续)
- 设置双核浏览器的浏览模式<meta name=“renderer” content=“webkit|ie-comp|ie-stand”>
- 一个小玩意PHP-Valgrind的介绍
- PSNR)
- U盘启动盘修复ubuntu系统
- SQL Server 2008 安装过程中出现问题解决方案
- 客户端使用SCNAIP连接11G RAC数据库报错ORA-12545解决