本文出自: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;
}

作者:svitter 发表于2014-5-2 21:17:35 原文链接
阅读:207 评论:0 查看评论

[原]Hrbust1328 相等的最小公倍数 (筛素数,素因子分解)的更多相关文章

  1. Hrbust1328 相等的最小公倍数 (筛素数,素因子分解)

    本文出自:http://blog.csdn.net/svitter/ 题意: 求解An 与 An-1是否相等. n分为两个情况-- 1.n为素数, 2.n为合数. =  =好像说了个废话..素数的时候 ...

  2. ACM-ICPC 2018 南京赛区网络预赛 J题Sum(线性筛素数)

    题目链接:https://nanti.jisuanke.com/t/30999 参考自博客:https://kuangbin.github.io/2018/09/01/2018-ACM-ICPC-Na ...

  3. 【板子】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 ...

  4. CF449C Jzzhu and Apples (筛素数 数论?

    Codeforces Round #257 (Div. 1) C Codeforces Round #257 (Div. 1) E CF450E C. Jzzhu and Apples time li ...

  5. 洛谷P3383 【模板】线性筛素数

    P3383 [模板]线性筛素数 256通过 579提交 题目提供者HansBug 标签 难度普及- 提交  讨论  题解 最新讨论 Too many or Too few lines 样例解释有问题 ...

  6. poj3126 筛素数+bfs

    //Accepted 212 KB 16 ms //筛素数+bfs #include <cstdio> #include <cstring> #include <iost ...

  7. 洛谷 P3383 【模板】线性筛素数

    P3383 [模板]线性筛素数 题目描述 如题,给定一个范围N,你需要处理M个某数字是否为质数的询问(每个数字均在范围1-N内) 输入输出格式 输入格式: 第一行包含两个正整数N.M,分别表示查询的范 ...

  8. POJ2689-Prime Distance-区间筛素数

    最近改自己的错误代码改到要上天,心累. 这是迄今为止写的最心累的博客. Prime Distance Time Limit: 1000MS   Memory Limit: 65536K Total S ...

  9. 线性筛素数和理解 洛谷P3383

    题目链接:https://www.luogu.org/problemnew/show/P3383 线性筛法筛素数的特点是每一个数字只被遍历一次,即时间复杂度为O(n),所以说他是线性的,并且所有的非素 ...

随机推荐

  1. OC字符串常用函数

    创建一个字符串对象: NSstring * str1 = @"hello"; NSString * str = [[NSString alloc]initWithString:@& ...

  2. ruby字符串学习笔记4

    1 单独处理字符串的字符 如果处理的是ASCII码的文档使用string#each_byte 注意 没有 string#each方法,String#each_byte 速度比 String#scan快 ...

  3. oracle 游标笔记

    declare v_x number; v_y number; v_geo clob; cursor cur is select c_x, c_y from t_map_data where c_ty ...

  4. 阻止Application_End事件的解决方案

    在做项目时,遇到同步ERP数据的问题,客户要求是:程序中,设置一个开始时间,再设置一个时间间隔,让程序每隔一段时间导出销售记录,这个开始时间和时间间隔可以手动修改设定.     这问题纠缠了我好几天, ...

  5. [ZOJ 1009] Enigma (模拟)

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1009 题目大意:给你三个转换轮,只有当第一个转换轮转动一圈后第二 ...

  6. How to Resize a Datafile (文档 ID 1029252.6)

    APPLIES TO: Oracle Database - Enterprise Edition - Version 9.2.0.1 and laterInformation in this docu ...

  7. Oracle 10046 event详解-转载

    0046事件概述Oracle的10046事件,可以跟踪应用程序所执行的SQL语句,并且得到其解析次数.执行次数,CPU使用时间等信息.这对我们分析.定位数据库性能问题是非常有用的. 10046 eve ...

  8. MFC学习 序列化

    void CArchiveView::OnWrite() { // Archive就是可序列化的类, 要头文件中DECLARE_DYNCREATE(CArchiveDoc) // 重写 virtual ...

  9. 图论Hrbust1708许可证

    http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=1708 #include<st ...

  10. 使用virtualbox安装centos虚拟机,以及VirtualBox无法安装64位Linux CentOS的解决办法

    之前一直用vmware的虚拟机,好吧,其实一直盗版挺不好的,然后想用centos搭点东西,结果在vmare上安装centos总是有些问题,看了人给的建议换用virtualbox,虽然virtualbo ...