fuzhou 1075 分解素因子

Problem 1075 分解素因子

Accept: 1331    Submit: 2523
Time Limit: 1000 mSec    Memory Limit : 32768 KB

Problem 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

FJNU Preliminary 2005
 1 /*
 2 水题一枚。
 3 这种类型有代表性
 4 */
 5 
 6 #include<stdio.h>
 7 #include<stdlib.h>
 8 
 9 void Euler(int n)
10 {
11     int i,k=0;
12     for(i=2;i*i<=n;i++)
13     if(n%i==0)
14     {
15         while(n%i==0)
16         {
17             if(k==0)
18             printf("%d",i);
19             else
20             printf("*%d",i);
21             k=1;
22             n=n/i;
23         }
24     }
25     if(n!=1)
26     {
27         if(k==0)
28         printf("%d",n);
29         else
30         printf("*%d",n);
31     }
32     printf("\n");
33 }
34 
35 int main()
36 {
37     int n,m;
38     while(scanf("%d",&n)>0)
39     {
40         while(n--)
41         {
42             scanf("%d",&m);
43             Euler(m);
44         }
45     }
46     return 0;
47 }

 

posted @ 2013-08-11 08:54  芷水  阅读(193)  评论(0编辑  收藏  举报