• codevs 2964 公共素数因数


    提交地址:http://codevs.cn/problem/2964/

    2964 公共素数因数

     

     时间限制: 1 s
     空间限制: 32000 KB
     题目等级 : 白银 Silver
     
     
     
    题目描述 Description

    小单同学刚学习了一个数分解成几个素数(也叫质数)因子相乘的知识。

    例如:12=2*2*3;25=5*5;144=2*2*2*2*3*3······等,比如,第一个表达式,说明12这个整数可以分解出2、2、3这三个质数因子。老师给他布置了一个作业,小单看来看去,怎么都不会做,只好虚心求教各位同学(他自己睡觉去了!)

       问题是这样的:已知两个正整数a,b;请问a,b相同的素(质)因子有几个。请输出个数。例如:12与144 相同的素(质)因子为2,2,3;则输出3。12与25 相同的素(质)因子没有;则输出0。

    输入描述 Input Description

    第一行两个数:a,b,中间用一个空格分隔。

    输出描述 Output Description

    一个整数,表示a和b相同的素(质)因子个数。

    样例输入 Sample Input

    12  144

    样例输出 Sample Output

    3

    数据范围及提示 Data Size & Hint

       对于50%的数据,保证2≤a,b≤100

       对于100%的数据,保证2≤a,b≤10000

     1 #include <iostream>
     2 
     3 using namespace std;
     4 
     5 int n,m,ans;
     6 
     7 int prime(int n)
     8   { //求素数,大家都知道吧?
     9     int i;
    10     if (n==1 || n==0)return 0;
    11     if (n==2)return 1;
    12     for(i=2;i*i<n;i++)
    13         if(n%i==0)return 0;
    14     if(i*i==n)return 0;
    15     return 1;
    16   }
    17 
    18 int solve()
    19   { //求公因数
    20     int a=n,b=m,c=a%b;
    21     while(c!=0){ //辗转相除法
    22         a=b;
    23         b=c;
    24         c=a%b;
    25     }
    26     return b;
    27   }
    28 
    29 void work(int n)
    30   { //求给n,m的公因数分解,然后判断如果是质数,那么就+1
    31     int i=2;
    32     while(n!=1){
    33         if(n%i==0 && prime(i)==1){ans++;n/=i;}
    34         else i++;
    35     }
    36     cout<<ans<<endl; //输出
    37   }
    38 
    39 int main(){
    40     int s;
    41     cin>>n>>m; //读入
    42     s=solve();
    43     work(s);
    44     return 0;
    45 }
    View Code
  • 相关阅读:
    Spring Cloud Stream 使用延迟消息实现定时任务(RabbitMQ)
    rocketmq发送消息的三种方式
    windows下RocketMQ安装部署
    idea多设备自动同步配置
    idea复制springboot的maven项目后,修改了maven名称,但maven工具里的maven名称没改变,不生效
    SpringBoot图文教程16—SpringBoot 多模块开发「web」「打包」
    spring-boot-starter-parent的作用
    JDK8 从永久代到元空间
    Spring 生命周期
    mesos Failed to connect to
  • 原文地址:https://www.cnblogs.com/yuemo/p/5517077.html
Copyright © 2020-2023  润新知