注册 登录
编程论坛 C++教室

求助!如何用c++编程实现一个整数分解为素数之积??

cjx1208 发布于 2013-03-19 12:27, 711 次点击
如题,小弟才疏学浅,望各位大神帮助。
3 回复
#2
azzbcc2013-03-19 12:36
木代码
#3
qunxingw2013-03-19 14:08
我的帖里有一个,你还可优化一下
#4
ap08053192013-03-19 15:37
#include<iostream>
using namespace std;
int sushu(int n)  //是素数,返回1,否则返回0.
{   
     int i;   
     for(i=2;i<n;i++)
       {  
          if(n%i == 0)
             return 0;
        }
    return 1;
}
int main()
{    int x;
    cin>>x;
    int yinz[32];  //用来存放素数因子
    int i;
    int j=0;
    int temp = x;
    while(temp !=1)
    {
        for(i=2;i<=temp;i++)
        {
           if(temp%i == 0 && sushu(i))
            {
                break;
            }
        }
        yinz[j++]=i;
        temp = temp/i;
    }
    cout<<x<<"=";
    for(i=0;i<j;i++)
    {
       if(i == (j-1))
        {
            cout<<yinz[i]<<endl;
            break;
        }
        cout<<yinz[i]<<"*";
    }
    return 0;
}
1