【小方法--最简】C - 分解素因子

                                                              C - 分解素因子

                                                             Submit Status

 

   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");
    }
}

 


posted on 2015-09-11 17:47  nicknick  阅读(351)  评论(0编辑  收藏  举报

导航