质因数分解

简介: 质因数分解

质因数分解

//代码只适合部分情况,没考虑1的情况
#include<bits/stdc++.h>
using namespace std;
bool hashTable[1000010]={false};
int prime[1000010];
struct node{
  int x;
  int cnt;
}fac[10];
int main(){
  int t=0;
  for(int i=2;i<=1000;i++){//求解质数 
    if(hashTable[i]==false){
      prime[++t]=i;
      for(int j=i+i;j<=1000;j=j+i){
        hashTable[j]=true;
      }
    }
  }
  int n;  cin>>n;
  int tot=0;
  for(int i=1;i<=t;i++){
    if(n%prime[i]==0){
      fac[tot].x=prime[i];
      fac[tot].cnt=0;
      while(n%prime[i]==0){
        fac[tot].cnt++;
        n/=prime[i];
      }
      tot++;
    }
  }
  for(int i=0;i<tot;i++){
    if(i!=0) cout<<"+"; 
    cout<<fac[i].x<<"^"<<fac[i].cnt; 
  } 
  return 0;
} 


相关文章
|
8月前
【错题集-编程题】素数回文(模拟 + 数学)
【错题集-编程题】素数回文(模拟 + 数学)
|
8月前
|
算法 测试技术 C#
【数学】【数论】【最大公约数】1819. 序列中不同最大公约数的数目
【数学】【数论】【最大公约数】1819. 序列中不同最大公约数的数目
|
算法 C语言 C++
【数论】试除法判断质数,分解质因数,筛质数
将定义进行模拟,若整除了除1与其自身的另外的数,则为质数
147 0
|
Python
Python实现求取素数
Python实现求取素数
248 0
|
算法 Python
转:最大公约数算法很无聊吗?一个轻松方法(辗转相除法)3行代码搞定
最大公约数算法不是很无聊,计算最大公约数是数学中一个重要的概念,可以用于判断两个数是否互质、求分数的约分等,在很多领域都有广泛的应用。辗转相除法3行代码搞定。
79 0
|
机器学习/深度学习 人工智能
数学知识-质数
数学知识-质数
|
算法 C++
算法基础系列第四章——数论之质数与约数(2)
算法基础系列第四章——数论之质数与约数(2)
139 0
算法基础系列第四章——数论之质数与约数(2)
|
机器学习/深度学习 算法 C++
算法基础系列第四章——数论之质数与约数(1)
算法基础系列第四章——数论之质数与约数(1)
194 0
算法基础系列第四章——数论之质数与约数(1)

热门文章

最新文章