【小方法--最简】C - 分解素因子
C - 分解素因子
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
笔记:一直超限,几乎崩溃,能优化的都想遍了,然而毕竟是渣渣,最后百度
虽然不理解,但神奇般的发现很好用,,,多看了几遍 学会了,i - - ,
神来之笔啊,必须保留!!
#include <stdio.h> int main() { int n,i,j,a; scanf("%d",&n); while(n--) { scanf("%d",&a); if(a==1)printf("1"); for(i=2;i<=a;i++) { if(a%i==0) { printf("%d",i); if(i!=a)printf("*"); a/=i; i--; } } if(a!=1) printf("%d",a); printf("\n"); } }