提交地址: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中的hashCode问题

    1. HashSet集合存储数据的结构(哈希表) 1.1 什么是哈希表? 哈希表底层使用的也是数组机制,数组中也存放对象,而这些对象往数组中存放时的位置比较特殊,当需要把这些对象给数组中存放时,那么会 ...

  2. Beta Scrum Day 6

    听说

  3. 201621123050 《Java程序设计》第9周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 1.2 选做:收集你认为有用的代码片段 ①foreach循环 for (String e : map.keyS ...

  4. 学号:201621123032 《Java程序设计》第9周学习总结(

    1:本周学习总结 1.1:以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容 2:书面作业 2.1: List中指定元素的删除(题集题目) 2.1.1:实验总结.并回答:列举至少2种在List ...

  5. Python多线程案例

    from time import ctime,sleep import threading def music(): for i in range(2): print ("I was lis ...

  6. Python 3.* print 出现SyntaxError: invalid syntax

    很简单,不知道为啥,据说是3.0以后的print都改为了print(); 例如 a=1 print a 上边出错 输入 a=1 print(a) 就正确了

  7. 【iOS】swift-ObjectC 在iOS 8中使用UIAlertController

    iOS 8的新特性之一就是让接口更有适应性.更灵活,因此许多视图控制器的实现方式发生了巨大的变化.全新的UIPresentationController在实现视图控制器间的过渡动画效果和自适应设备尺寸 ...

  8. 前端之bootstrap模态框

    简介:模态框(Modal)是覆盖在父窗体上的子窗体.通常,目的是显示来自一个单独的源的内容,可以在不离开父窗体的情况下有一些互动.子窗体可提供信息.交互等. Modal简介 Modal实现弹出表单 M ...

  9. datetimepicker.js 使用笔记

    1.官网地址 官网传送门 2.属性及使用示例 2.1调用 html: <input  type="text"  readonly class="date" ...

  10. java.lang.String 类源码解读

    String类定义实现了java.io.Serializable, Comparable<String>, CharSequence 三个接口:并且为final修饰. public fin ...