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 }

 

你可能感兴趣的:(fuzhou 1075 分解素因子)