提交地址: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

 #include <iostream>

 using namespace std;

 int n,m,ans;

 int prime(int n)
{ //求素数,大家都知道吧?
int i;
if (n== || n==)return ;
if (n==)return ;
for(i=;i*i<n;i++)
if(n%i==)return ;
if(i*i==n)return ;
return ;
} int solve()
{ //求公因数
int a=n,b=m,c=a%b;
while(c!=){ //辗转相除法
a=b;
b=c;
c=a%b;
}
return b;
} void work(int n)
{ //求给n,m的公因数分解,然后判断如果是质数,那么就+1
int i=;
while(n!=){
if(n%i== && prime(i)==){ans++;n/=i;}
else i++;
}
cout<<ans<<endl; //输出
} int main(){
int s;
cin>>n>>m; //读入
s=solve();
work(s);
return ;
}

codevs 2964 公共素数因数的更多相关文章

  1. codevs 2964公共素数因数

    2964 公共素数因数  时间限制: 1 s  空间限制: 32000 KB  题目等级 : 白银 Silver 题解       题目描述 Description 小单同学刚学习了一个数分解成几个素 ...

  2. codevs 6116 区间素数

     时间限制: 8 s  空间限制: 256000 KB  题目等级 : 白银 Silver 题解       题目描述 Description 小明喜欢研究素数,他想统计两个自然数之间的素数个数,现在 ...

  3. codevs:1462 素数和:给定2个整数a,b 求出它们之间(不含a,b)所有质数的和。

    #include<iostream>#include<cstdio>#include<cmath>using namespace std;int main(){ i ...

  4. codevs:2849 素数判定 3:输入一个正整数x(3<=x<=100000),判断x是否是质数,如果是质数则输出信息“prime”,否则输出“composite”。

    #include<iostream>#include<cstdio>#include<cmath>using namespace std;int a[2];int ...

  5. UVa 884 - Factorial Factors

    题目:输出n!中素数因数的个数. 分析:数论.这里使用欧拉筛法计算素数,在计算过程中求解就可以. 传统筛法是利用每一个素数,筛掉自己的整数倍: 欧拉筛法是利用当前计算出的全部素数,乘以当前数字筛数: ...

  6. 【模板小程序】求小于等于N范围内的质数

    //筛法求N以内的素数(普通法+优化),N>=2 #include <iostream> #include <cmath> #include <vector> ...

  7. CF #505 B Weakened Common Divisor(数论)题解

    题意:给你n组,每组两个数字,要你给出一个数,要求这个是每一组其中一个数的因数(非1),给出任意满足的一个数,不存在则输出-1. 思路1:刚开始乱七八糟暴力了一下果断超时,然后想到了把每组两个数相乘, ...

  8. Node.js 内置模块crypto加密模块(4) Diffie Hellman

    Diffie-Hellman( DH ):密钥交换协议/算法 ( Diffie-Hellman Key Exchange/Agreement Algorithm ) 百科摘录: Diffie-Hell ...

  9. POJ 1845-Sumdiv(快速幂取模+整数唯一分解定理+约数和公式+同余模公式)

    Sumdiv Time Limit:1000MS     Memory Limit:30000KB     64bit IO Format:%I64d & %I64u Submit Statu ...

随机推荐

  1. Java读取文件存储到mysql

    写了一批Lua脚本,要放到数据库里面,调用的时候进行计算,由于有太多lua脚本,就写了个程序来录入. 下面主要分三个部分: public static String readToString(Stri ...

  2. oracle导出dmp文件的2种方法

    使用exp和expdp导出数据 1.exp导出数据命令 exp gd_base/@192.168.13.211/oanet file=D:\export\gd_base.dmp log=D:\expo ...

  3. Beta冲刺 第三天

    Beta冲刺 第三天 1. 昨天的困难 昨天的困难主要集中在对Ajax的使用上,不熟悉这种语法,所以也就浪费了时间,导致昨天的批量删除没有完全完成. 2. 今天解决的进度 潘伟靖: 1.完善了昨天没写 ...

  4. ExecutorService实际上是一个线程池的管理工具

    在Java5之后,并发线程这块发生了根本的变化,最重要的莫过于新的启动.调度.管理线程的一大堆API了.在Java5以后,通过Executor来启动线程比用 Thread的start()更好.在新特征 ...

  5. 一个页面多个HTTP请求 页面卡顿!

    用promise解决 前两天面试的时候 一个面试官问到这样一个问题 这里先说出解决的路径 这几天会更新具体的做法 或者直接参考廖雪峰大神 地址如下: https://www.liaoxuefeng.c ...

  6. js 点击 返回顶部 动画

    附上效果图 触发前 触发后 HTML代码: CSS代码 JS代码 由于复制文本太丑了 所以直接放的图片  但是我在评论区把js代码又复制了一边 以便你们使用

  7. 09-TypeScript中的继承

    在后端开发语言中,继承是非常重要的概念,继承可以让子类具有父类的成员和方法,通过实例化子类,就可以访问父类的成员和方法. 在JavaScript中,需要通过原型模式来模拟继承的实现.而在TypeScr ...

  8. JAVA_SE基础——68.RunTime类

    RunTime类代表Java程序的运行时环境,每一个Java程序都有一个与之对应的Runtime实例,应用程序通过该对象与运行时环境相连,应用程序不能创建自己的Runtime实例,但可以通过getRu ...

  9. JAVA_SE基础——20.数组的常见操作

    1.遍历数组 使用for循环来遍历数组 代码如下: public class Ergodic { public static void main(String[] args) { int[] arr ...

  10. Linux CentOS7.0 (02)修改主机名和ip地址

    一.主机名修改 1.查看命令 在CentOS中,有三种定义的主机名:静态的(static),瞬态的(transient),和灵活的(pretty). "静态"主机名也称为内核主机名 ...