庞果网之素因子集合

【题目】

题目详情

小强最近在学初等数论,老师给他们出了一个课后习题,那就是给你两个正整数A,B(0<A,B<2^60),判断他们的素因子集合是否相同,小强刚接触数论,想了好一会还是没能想出来,你能帮助他吗?

输入描述:

输入包含多组测试数据,每组测试数据包含两个正整数A,B,以文件结束。

输出描述:

对于每组测试数据如果A和B的素因子集合相同则输出“YES”,否则输出“NO”。

答题说明

输入样例:

2 8

4 9

10 50

输出样例:

YES

NO

YES

【分析】

唯一质因子分解定理:任意一个合数a仅能以一种方式,写成如下的乘积形式:

a = p1^e1*p2^e2*...*pr^er

其中pi为素数,p1<p2<...<pr,且ei为正整数。例如数6000=2^4*3*5^3。

【代码】

/*********************************
*   日期:2014-04-29
*   作者:SJF0115
*   题目: 素因子集合
*   来源:http://hero.csdn.net/Question/Details?ID=506&ExamID=501&from=211
*   结果:AC
*   来源:庞果网
*   总结:
**********************************/
#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;

#define N 1000000
long long set[N],set2[N];

//素因子集合
int PrimeSet(long long n,long long *set){
    int num = 0;
    for(long long i = 2;i*i <= n;i++){
        if(n % i == 0){
            set[num++] = i;
            while(n % i ==0){
                n = n / i;
            }
        }//if
    }//for
    if(n > 1){
        set[num++] = n;
    }
    //返回素数集合的个数
    return num;
}

int main(){
    int i;
    long long a,b;
    while(scanf("%lld%lld",&a,&b) != EOF){
        memset(set,0,sizeof(set));
        memset(set2,0,sizeof(set2));
        int num = PrimeSet(a,set);
        int num2 = PrimeSet(b,set2);
        if(num != num2){
            printf("NO\n");
        }
        else{
            for(i = 0;i < num;i++){
                if(set[i] != set2[i]){
                    printf("NO\n");
                    break;
                }
            }//for
            if(i >= num){
                printf("YES\n");
            }//if
        }//if
    }//while
    return 0;
}

庞果网之素因子集合,码迷,mamicode.com

时间: 2024-10-07 22:15:34

庞果网之素因子集合的相关文章

庞果网之高斯公式

[题目] 题目详情 高斯在上小学时发明了等差数列求和公式:1+2+..+100=5050.如今问题在于给你一个正整数n,问你他能够表示为多少种连续正整数之和?(自身也算). 输入格式: 多组数据,每组数据一行,一个正整数n. 0<n<2000000000 输出格式: 每组数据一行,包括一个正整数,表示结果. 答题说明 输入例子 5 120 输出例子: 2 4 解释: 5=2+3=5 120=1+2+...+15=22+23+24+25+26=39+40+41=120 [分析] 详细详见:点击打

CSDN 素因子集合

题目详情: http://student.csdn.net/mcs/programming_challenges?page=4 小强最近在学初等数论,老师给他们出了一个课后习题,那就是给你两个正整数A,B(0<A,B<2^60),判断他们的素因子集合是否相同,小强刚接触数论,想了好一会还是没能想出来,你能帮助他吗? 输入描述: 输入包含多组测试数据,每组测试数据包含两个正整数A,B,以文件结束. 输出描述: 对于每组测试数据如果A和B的素因子集合相同则输出"YES",否则输

程序员网址大全

1.  http://pengjiaheng.iteye.com/?page=2 虚拟机调优 2.  http://blog.csdn.net/column/details/jvm-principle.html  Java虚拟机规范 3.  http://blog.csdn.net/column/details/java-vm.html Java虚拟机规范 4.  http://www.infoq.com/cn/articles/microframeworks1-spring-boot/ 微服务

程序员网址大全(转)

注:本文转自CSDN 聚沙成塔.水滴石穿的博客,博客地址:http://blog.csdn.net/mazhimazh/article/details/16971909 学习网站1. http://pengjiaheng.iteye.com/?page=2 虚拟机调优2. http://blog.csdn.net/column/details/jvm-principle.html Java虚拟机规范3. http://blog.csdn.net/column/details/java-vm.ht

程序员常用不常见很难得的地址大全,博主很辛苦

网址分类导航:       简单设置与开发支持       桌面程序可能用的到        美工可能会看的         前端人员可能用的       简单工具         常用软件下载           数据库工具        游戏开发          其他语言友情链接        jQuery框架       .NET要用到的部分解决方案框架       程序员的网站       稍微偏放松点      IT方面最新的科技新闻      IT培训课程系列的网站    程序员找

程序员生存定律-借势的价值与力量

程序员生存定律这系列的目录在这里:程序员生存定律--目录 喜欢从头瞄的,可以移步. ------------------------------------------------------------------------------ 取他人.他物所长,为我所用的这一面,始终有着不可忽视的价值.在大约2300年前,荀子对此进行了很好的说明: 吾尝终日而思矣,不如须臾之所学也.吾尝跂而望矣,不如登高之博见也.登高而招,臂非加长也,而见者远:顺风而呼,声非加疾也,而闻者彰.假舆马者,非利足也,

C# WPF 低仿网易云音乐(PC)Banner动画控件

由于技术有限没能做到一模一样的动画,只是粗略地做了一下.动画有点生硬,还有就是没做出网易云音乐的立体感.代码非常简单粗暴而且我也写有注释,这里就不多啰嗦了,直接贴代码. 算了,啰嗦几句.原理是这样的,建立一个用户控件,在控件内添加3个border,对border进行缩放和移动动画. 低仿效果 网易云音乐原版 代码 后台 using System; using System.Collections.Generic; using System.Diagnostics; using System.Li

手机赚钱学生赚软件必备网赚工具

有时候在大学生论坛都看到一些学生网赚,学生兼职创业之类的广告,关于学生网赚手赚之类的信息,是不是真的?是不是靠谱的?我以我个人玩手赚网赚两年多来的经验告诉大家,选择对了,就是真的!!! 因为网赚手赚广告信息那么多,自然有些是忽悠人的,良莠不齐,这是正常的现象,那么我们该如何选址手赚网赚呢?当然今天我们并不是主要讲这个问题,因为之前我写过如何选择网赚手赚项目的文章,今天我们主要说下学生做网赚手赚的一些基本工具,因为有了工具,才是做网赚手赚的前提基础,难道不是这样吗? 归纳一下经验,我把手赚网赚必备

外网、内网,app互相通信,消息反向发送

之前在做系统时有一个应用是,app.外网服务端.内网服务端.内网客户端通信互发消息,由于系统的设计,内网服务端和外网服务端被定义成为web服务器,这里的外网服务端 和内网服务端没有严格的定义可以随意的替换成其他的,在我们的应用中外网服务端是一个外网的web应用的服务器,内网服务端是一个联网的内网的服务器(多个),内网客户端是一个不联网的本地程序(一个内网服务端下面有多个),app则是一个联网和外网服务端通信以及通过wifi网络和内网服务端通信的应用程序(这里略去wifi通信),消息通信的流程是,