hrbust 1328 相等的最小公倍数(数论)
2014-04-26 14:06
176 查看
Description |
定义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 Input |
1 6 |
Sample Output |
YES |
突然认识到基础不扎实,练习一下打基础,
数论欧几里得算法的简单应用
题意不说了,很简单,
对于 n ,n为素数时肯定是NO,
对于其他的 n 来说:
如果 n 有一对互质的因子则输出YES,否则输出 NO 。
**********************/
#include <iostream> #include <stdio.h> using namespace std; int gcd(int a,int b)// 求最大公约数 { if(a == 0) return b; int c; while(b) { c = b; b = a%b; a = c; } return a; } int prime(int n)// 判断素数 { int i; for(i = 2;i*i<=n;i++) if(n%i==0) return 0; return 1; } int main() { int i,t,n,leaf; scanf("%d",&t); while(t--) { leaf = 1; scanf("%d",&n); if(prime(n))// n是素数是直接输出NO { printf("NO\n"); continue; } for(i = 2;i*i<=n;i++) { if(n%i==0) { int p = n/i; if(gcd(p,i)==1) { leaf = 0; break; } } } if(leaf == 1) printf("NO\n"); else printf("YES\n"); } return 0; }
相关文章推荐
- hrbust 1328 相等的最小公倍数(数论)
- HRBUST 1328 相等的最小公倍数
- Hrbust1328 相等的最小公倍数 (筛素数,素因子分解)
- [原]Hrbust1328 相等的最小公倍数 (筛素数,素因子分解)
- hrbust 1328 相等的最小公倍数【暴力打表找规律】
- Hrbust1328 相等的最小公倍数 (筛素数,素因子分解)
- 相等的最小公倍数 HRBUST - 1328
- 哈理工 hrbust 1328 相等的最小公倍数
- [原]Hrbust1328 相等的最小公倍数 (筛素数,素因子分解)
- 哈理工 hrbust 1328 相等的最小公倍数
- Hrbust1328 相等的最小公倍数 (筛素数,素因子分解)
- Hrbust1328 相等的最小公倍数 (筛素数,素因子分解)
- 哈理工OJ-1328 相等的最小公倍数
- HRBUST 1328 相等的最小公倍数
- 哈理工oj 1328-相等的最小公倍数解题报告
- 数论 A. yuna学数论 判断1到n连续n个数的最小公倍数与1到n-1连续n-1个数的最小公倍数是否相等
- 数论 A. yuna学数论 判断1到n连续n个数的最小公倍数与1到n-1连续n-1个数的最小公倍数是否相等
- 【数论】最小公倍数
- hdu 1108 最小公倍数(数论基础 水)
- 数论(1):最大公约数和最小公倍数(Gcd&Lcm)