zoukankan      html  css  js  c++  java
  • 【PAT甲级】1059 Prime Factors (25 分)

    题意:

    输入一个正整数N(范围为long int),输出它等于哪些质数的乘积。

    trick:

    如果N为1,直接输出1即可,数据点3存在这样的数据。

    如果N本身是一个质数,直接输出它等于自己即可,数据点4存在这样的数据。

    AAAAAccepted code:

     1 #define HAVE_STRUCT_TIMESPEC
     2 #include<bits/stdc++.h>
     3 using namespace std;
     4 int ans[100007];
     5 int main(){
     6     ios::sync_with_stdio(false);
     7     cin.tie(NULL);
     8     cout.tie(NULL);
     9     long long n;
    10     cin>>n;
    11     long long x=n;
    12     int num=0;
    13     for(int i=2;1ll*i*i<=n;++i){
    14         if(x==1)
    15             break;
    16         while(x%(1ll*i)==0){
    17             x/=1ll*i;
    18             ++ans[i];
    19             ++num;
    20             if(x==1)
    21                 break;
    22         }
    23     }
    24     if(num==0){
    25         cout<<n<<"="<<n;
    26         return 0;
    27     }
    28     cout<<n<<"=";
    29     int flag=0;
    30     for(int i=2;i*i<=n;++i)
    31         if(ans[i]){
    32             if(flag)
    33                 cout<<"*";
    34             cout<<i;
    35             if(ans[i]>1)
    36                 cout<<"^"<<ans[i];
    37             flag=1;
    38         }
    39     return 0;
    40 }
    保持热爱 不懈努力 不试试看怎么知道会失败呢(划掉) 世上无难事 只要肯放弃(划掉)
  • 相关阅读:
    闭包
    this
    函数声明,表达式,构造函数
    算法学习_栈
    LeetCode刷题_140
    2020/3/20 刷题
    2020/3/19 刷题
    2020/3/13_C++实验课
    刷题(主要是DFS) 2020年3月12日
    DFS的一些题2020/3/11
  • 原文地址:https://www.cnblogs.com/ldudxy/p/11681506.html
Copyright © 2011-2022 走看看