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 20051 /* 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 }