分解素因子

来源:互联网 发布:网络侵犯名誉权的法律 编辑:程序博客网 时间:2024/04/29 12:19

FJNU.1176

Description
假设x是一个正整数,它的值不超过65535(即1< x<=65535),请编写一个程序,将x分解为若干个素数的乘积。

Input
输入的第一行含一个正整数k (1<=k<=10),表示测试例的个数,后面紧接着k行,每行对应一个测试例,包含一个正整数x。

Output
每个测试例对应一行输出,输出x的素数乘积表示式,式中的素数从小到大排列,两个素数之间用“*”表示乘法。

Sample Input
2
11
9828

Sample Output
11
2*2*3*3*3*7*13

Source
福建师范大学第三届程序设计比赛网上预赛

My Program

#include<iostream>
using namespace std;

int main()
{
    
int T,x[10],i,j;
    cin
>>T;
    
for(j=0;j<T;j++)
        cin
>>x[j];
    
for(j=0;j<T;j++)
        
while(1)
        
{
            
for(i=2;i<x[j];)
            
{
                
if(x[j]%i==0)
                
{
                    cout
<<i<<'*';
                    x[j]
/=i;
                }

                
else i++;
            }

            cout
<<x[j]<<endl;
            
break;
          }

    
return 0;
}

YOYO's Note: 
直接找素数除就好……

原创粉丝点击