码迷,mamicode.com
首页 > 其他好文 > 详细

PAT 1059. Prime Factors

时间:2014-11-12 20:59:25      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   color   sp   for   div   on   log   

反正知道了就是知道,不知道也想不到,很快

#include <cstdio>
#include <cstdlib>
#include <vector>

using namespace std;

inline void print_prime_k(long long p, long long k) {
       printf("%lld", p);
       if (k > 1) {
          printf("^%lld", k);      
       }
}

int main() {
    long long n, on;
    scanf("%lld", &n);
    on = n;
    vector<long long> ps;
    vector<long long> count;
    
    long long i = 2;
    long long last = 0;
    while (n > 1) {
        while (n % i == 0) {
              n = n/i;
              if (i != last) {
                 ps.push_back(i);
                 count.push_back(0);
                 last = i;             
              }
              count.back()++;
        }
        i++;
    }
    
    int len = ps.size();
    if (len > 0) {
       printf("%lld=", on);
       print_prime_k(ps[0], count[0]);
    } else {
      printf("%lld=%lld", on, on);       
    }
    for (int i=1; i<len; i++) {
        printf("*");
        print_prime_k(ps[i], count[i]);
    }
    system("pause");
    return 0;    
}


考虑输入是1的情况输出要为1=1

PAT 1059. Prime Factors

标签:style   blog   io   color   sp   for   div   on   log   

原文地址:http://www.cnblogs.com/lailailai/p/4093327.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!