zoukankan      html  css  js  c++  java
  • [PAT]素因子分解(20)

    #include "stdio.h"
    #include "math.h"
    long Prime(long);
    long PrimeCount(long,long);
    
    int main()
    {
        int a,curPrime,cfCount;
        int v;
        int tPrime=0;
        scanf("%d",&a);
    
        v=Prime(a);
        curPrime=a;
    
        printf("%d=",a);
    
        if(v==1||v==a)
        {
            printf("%d",v);
        }
        else
        {
            tPrime=v;
            while(tPrime!=curPrime)
            {
                cfCount=PrimeCount(curPrime,tPrime);
                
                if(cfCount>1)
                {
                    printf("%d^%d",tPrime,cfCount);
                    curPrime=curPrime / pow((double)tPrime,cfCount);
                }
                else
                {
                    printf("%d",tPrime);
                    curPrime=curPrime / pow((double)tPrime,cfCount);
                }
                tPrime=Prime(curPrime);
                if(tPrime!=curPrime) printf("*");
            }
            if(tPrime!=1&&tPrime==curPrime)
            {
                printf("*%d",tPrime);
            }
        }
    
        getchar();
        getchar();
        return 0;
    }
    long Prime(long num)
    {
        long i=0;
        if(num<2) return 1;
        for(i=2;i<num;i++)
        {
            if(num%i==0) return i;
        }
        return num;
    }
    long PrimeCount(long num,long cellnum)
    {
        long c=0;
        for(;num%cellnum==0;)
        {
            c++;
            num/=cellnum;
        }
        return c;
    }
  • 相关阅读:
    CAP分布式
    专职DBA-MySQL数据库开篇
    os.sep
    DocStrings
    Python如何获取脚本的参数
    LVM基础命令
    VoAndEntityTrans
    短信倒计时
    springboot在eclipse上搭建项目一(无页面)
    springboot问题
  • 原文地址:https://www.cnblogs.com/sunsoftresearch/p/4149734.html
Copyright © 2011-2022 走看看