[原]Hrbust1328 相等的最小公倍数 (筛素数,素因子分解)
本文出自:http://blog.csdn.net/svitter/
题意:
求解An 与 An-1是否相等。
n分为两个情况——
1.n为素数,
2.n为合数。
= =好像说了个废话。。素数的时候,可以直接输出no,因为素数不可能和An-1相等。合数的时候,如果n是a^b次方,那么也是NO。原因很简单,之前数字的最小公倍数的n的因子次方数,不能超过n的次方数。
//============================================================================
// Name : 数论问题.cpp
// Author :
// Version :
// Copyright : Your copyright notice
// Description : Hello World in C++, Ansi-style
//============================================================================ #include <iostream>
#include <stdio.h>
#include <string.h> using namespace std;
#define lln long long int
#define MAXN 1000001 bool vis[MAXN];
int prime[100000];
int p; void Prime()
{
//0为不是合数,1为是合数
memset(vis, 1, sizeof(vis));
p = 0;
int i, j;
for(i = 2; i < MAXN; i++)
{
if(vis[i])
{
prime[p++] = i;
for(j = 2 * i; j < MAXN; j += i)
vis[j] = 0;
}
else
continue;
}
} void ace(){
//init
Prime();
//work point
int t, i;
//num
int a;
int num; cin >> t;
while(t--){
scanf("%d", &a);
if(a == 2)
{
printf("NO\n");
continue;
}
if(vis[a])
printf("NO\n");
else
{
num = 0;
for(i = 0 ; i <= p; i++)
{
if(a % prime[i] == 0)
{
num++;
while(a % prime[i] == 0)
a /= prime[i];
}
if(a == 1)
break;
}
if(num >= 2)
printf("YES\n");
else
printf("NO\n");
}
}
} int main() {
ace();
return 0;
}
[原]Hrbust1328 相等的最小公倍数 (筛素数,素因子分解)的更多相关文章
- Hrbust1328 相等的最小公倍数 (筛素数,素因子分解)
本文出自:http://blog.csdn.net/svitter/ 题意: 求解An 与 An-1是否相等. n分为两个情况-- 1.n为素数, 2.n为合数. = =好像说了个废话..素数的时候 ...
- ACM-ICPC 2018 南京赛区网络预赛 J题Sum(线性筛素数)
题目链接:https://nanti.jisuanke.com/t/30999 参考自博客:https://kuangbin.github.io/2018/09/01/2018-ACM-ICPC-Na ...
- 【板子】gcd、exgcd、乘法逆元、快速幂、快速乘、筛素数、快速求逆元、组合数
1.gcd int gcd(int a,int b){ return b?gcd(b,a%b):a; } 2.扩展gcd )extend great common divisor ll exgcd(l ...
- CF449C Jzzhu and Apples (筛素数 数论?
Codeforces Round #257 (Div. 1) C Codeforces Round #257 (Div. 1) E CF450E C. Jzzhu and Apples time li ...
- 洛谷P3383 【模板】线性筛素数
P3383 [模板]线性筛素数 256通过 579提交 题目提供者HansBug 标签 难度普及- 提交 讨论 题解 最新讨论 Too many or Too few lines 样例解释有问题 ...
- poj3126 筛素数+bfs
//Accepted 212 KB 16 ms //筛素数+bfs #include <cstdio> #include <cstring> #include <iost ...
- 洛谷 P3383 【模板】线性筛素数
P3383 [模板]线性筛素数 题目描述 如题,给定一个范围N,你需要处理M个某数字是否为质数的询问(每个数字均在范围1-N内) 输入输出格式 输入格式: 第一行包含两个正整数N.M,分别表示查询的范 ...
- POJ2689-Prime Distance-区间筛素数
最近改自己的错误代码改到要上天,心累. 这是迄今为止写的最心累的博客. Prime Distance Time Limit: 1000MS Memory Limit: 65536K Total S ...
- 线性筛素数和理解 洛谷P3383
题目链接:https://www.luogu.org/problemnew/show/P3383 线性筛法筛素数的特点是每一个数字只被遍历一次,即时间复杂度为O(n),所以说他是线性的,并且所有的非素 ...
随机推荐
- Java中的注解是如何工作的?--annotation学习一
自Java5.0版本引入注解之后,它就成为了Java平台中非常重要的一部分.开发过程中,我们也时常在应用代码中会看到诸如@Override,@Deprecated这样的注解.这篇文章中,我将向大家讲述 ...
- java多线程之AtomicInteger
AtomicInteger原子操作实现同步 package Thread.Common; import java.util.Timer; import java.util.TimerTask; imp ...
- ruby关于flip-flop理解上一个注意点
(..).each do |x| puts x ) .. (x == ) end 上面的flip-flop的用法,你可以理解成 将 大于等于5和小于等于10的数字打印出来,也就是理解成 puts x ...
- 不可变集合 Immutable Collections
例子 public static final ImmutableSet<String> COLOR_NAMES = ImmutableSet.of( "red", &q ...
- 91、sendToTarget与sendMessage
Message msg = handler.obtainMessage(); msg.arg1 = i; msg.sendToTarget(); ...
- centos 下安装.net core
先要安装libunwind, libunwind库为基于64位CPU和操作系统的程序提供了基本的堆栈辗转开解功能,32位操作系统不要安装.其中包括用于输出堆栈跟踪的API.用于以编程方式辗转开解堆栈的 ...
- [SQJ]sql如何实现类似统计的功能
假设mssql2000中, 有如下表: table Class class_No course_Name ----------------------------------- chinese mat ...
- 326.Power of Three
/* Given an integer, write a function to determine if it is a power of three. Follow up: Could you d ...
- IIS错误代码表
当用户试图通过 HTTP 或文件传输协议 (FTP) 访问一台正在运行 Internet 信息服务 (IIS) 的服务器上的内容时,IIS 返回一个表示该请求的状态的数字代码.该状态代码记录在 IIS ...
- 《Code Complete》ch.14 组织直线型的代码
WHAT? 最简单的控制流:即按照先后顺序放置语句与语句块 WHY? 尽管组织直线型的代码是一个简单的任务,但代码结构上的一些微妙之处还是会对代码质量.正确性.可读性和可维护性带来影响 HOW? 必须 ...