{"id":971,"date":"2019-11-13T20:25:12","date_gmt":"2019-11-13T12:25:12","guid":{"rendered":"http:\/\/149.129.74.185\/?p=971"},"modified":"2019-11-13T21:02:56","modified_gmt":"2019-11-13T13:02:56","slug":"patadvanced1059-prime-factors-25-%e5%88%86","status":"publish","type":"post","link":"http:\/\/www.magicmipamipa.com\/?p=971","title":{"rendered":"PAT(Advanced)1059 Prime Factors (25 \u5206)"},"content":{"rendered":"<p><span>1059<\/span><span>\u00a0<\/span><span>Prime Factors<\/span><span>\u00a0<\/span><span>(25\u00a0<\/span><span>\u5206<\/span><span>)<\/span><\/p>\n<p>Given any positive integer<span>\u00a0<\/span><span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"strut\"><\/span><span class=\"strut bottom\"><\/span><span class=\"base textstyle uncramped\"><span class=\"mord mathit\">N<\/span><\/span><\/span><\/span>, you are supposed to find all of its prime factors, and write them in the format<span>\u00a0<\/span><span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"strut\"><\/span><span class=\"strut bottom\"><\/span><span class=\"base textstyle uncramped\"><span class=\"mord mathit\">N<\/span><\/span><\/span><\/span><span>\u00a0<\/span>=<span>\u00a0<\/span><span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"strut\"><\/span><span class=\"strut bottom\"><\/span><span class=\"base textstyle uncramped\"><span class=\"mord\"><span class=\"mord textstyle uncramped\"><span class=\"mord mathit\">p<\/span><span class=\"msupsub\"><span class=\"vlist\"><span><span class=\"fontsize-ensurer reset-size5 size5\">\u200b<\/span><span class=\"reset-textstyle scriptstyle cramped mtight\"><span class=\"mord mathrm mtight\">1<\/span><\/span><\/span><span class=\"baseline-fix\"><span class=\"fontsize-ensurer reset-size5 size5\"><span>\u200b<\/span><\/span>\u200b<\/span><\/span><\/span><\/span><span class=\"msupsub\"><span class=\"vlist\"><span><span class=\"fontsize-ensurer reset-size5 size5\">\u200b<\/span><span class=\"reset-textstyle scriptstyle uncramped mtight\"><span class=\"mord scriptstyle uncramped mtight\"><span class=\"mord mtight\"><span class=\"mord mathit mtight\">k<\/span><span class=\"fontsize-ensurer reset-size5 size5\">\u200b<\/span><span class=\"reset-scriptstyle scriptscriptstyle cramped mtight\"><span class=\"mord mathrm mtight\">1<\/span><\/span><span class=\"baseline-fix\"><span class=\"fontsize-ensurer reset-size5 size5\">\u200b<\/span>\u200b<\/span><\/span><\/span><\/span><\/span><span class=\"baseline-fix\"><span class=\"fontsize-ensurer reset-size5 size5\"><span>\u200b<\/span><\/span>\u200b<\/span><\/span><\/span><\/span><span class=\"mbin\">\u00d7<\/span><span class=\"mord\"><span class=\"mord textstyle uncramped\"><span class=\"mord mathit\">p<\/span><span class=\"msupsub\"><span class=\"vlist\"><span><span class=\"fontsize-ensurer reset-size5 size5\">\u200b<\/span><span class=\"reset-textstyle scriptstyle cramped mtight\"><span class=\"mord mathrm mtight\">2<\/span><\/span><\/span><span class=\"baseline-fix\"><span class=\"fontsize-ensurer reset-size5 size5\"><span>\u200b<\/span><\/span>\u200b<\/span><\/span><\/span><\/span><span class=\"msupsub\"><span class=\"vlist\"><span><span class=\"fontsize-ensurer reset-size5 size5\">\u200b<\/span><span class=\"reset-textstyle scriptstyle uncramped mtight\"><span class=\"mord scriptstyle uncramped mtight\"><span class=\"mord mtight\"><span class=\"mord mathit mtight\">k<\/span><span class=\"fontsize-ensurer reset-size5 size5\">\u200b<\/span><span class=\"reset-scriptstyle scriptscriptstyle cramped mtight\"><span class=\"mord mathrm mtight\">2<\/span><\/span><span class=\"baseline-fix\"><span class=\"fontsize-ensurer reset-size5 size5\">\u200b<\/span>\u200b<\/span><\/span><\/span><\/span><\/span><span class=\"baseline-fix\"><span class=\"fontsize-ensurer reset-size5 size5\"><span>\u200b<\/span><\/span>\u200b<\/span><\/span><\/span><\/span><span class=\"mbin\">\u00d7<\/span><span class=\"minner\">\u22ef<\/span><span class=\"mbin\">\u00d7<\/span><span class=\"mord\"><span class=\"mord textstyle uncramped\"><span class=\"mord mathit\">p<\/span><span class=\"msupsub\"><span class=\"vlist\"><span><span class=\"fontsize-ensurer reset-size5 size5\">\u200b<\/span><span class=\"reset-textstyle scriptstyle cramped mtight\"><span class=\"mord mathit mtight\">m<\/span><\/span><\/span><span class=\"baseline-fix\"><span class=\"fontsize-ensurer reset-size5 size5\"><span>\u200b<\/span><\/span>\u200b<\/span><\/span><\/span><\/span><span class=\"msupsub\"><span class=\"vlist\"><span><span class=\"fontsize-ensurer reset-size5 size5\">\u200b<\/span><span class=\"reset-textstyle scriptstyle uncramped mtight\"><span class=\"mord scriptstyle uncramped mtight\"><span class=\"mord mtight\"><span class=\"mord mathit mtight\">k<\/span><span class=\"fontsize-ensurer reset-size5 size5\">\u200b<\/span><span class=\"reset-scriptstyle scriptscriptstyle cramped mtight\"><span class=\"mord mathit mtight\">m<\/span><\/span><span class=\"baseline-fix\"><span class=\"fontsize-ensurer reset-size5 size5\">\u200b<\/span>\u200b<\/span><\/span><\/span><\/span><\/span><span class=\"baseline-fix\"><span class=\"fontsize-ensurer reset-size5 size5\"><span>\u200b<\/span><\/span>\u200b<\/span><\/span><\/span><\/span><\/span><\/span><\/span>.<\/p>\n<h3 id=\"input-specification-\">Input Specification:<\/h3>\n<p>Each input file contains one test case which gives a positive integer<span>\u00a0<\/span><span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"strut\"><\/span><span class=\"strut bottom\"><\/span><span class=\"base textstyle uncramped\"><span class=\"mord mathit\">N<\/span><\/span><\/span><\/span><span>\u00a0<\/span>in the range of<span>\u00a0<\/span><strong>long int<\/strong>.<\/p>\n<h3 id=\"output-specification-\">Output Specification:<\/h3>\n<p>Factor<span>\u00a0<\/span><span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"strut\"><\/span><span class=\"strut bottom\"><\/span><span class=\"base textstyle uncramped\"><span class=\"mord mathit\">N<\/span><\/span><\/span><\/span><span>\u00a0<\/span>in the format<span>\u00a0<\/span><span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"strut\"><\/span><span class=\"strut bottom\"><\/span><span class=\"base textstyle uncramped\"><span class=\"mord mathit\">N<\/span><\/span><\/span><\/span><span>\u00a0<\/span><code>=<\/code><span>\u00a0<\/span><span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"strut\"><\/span><span class=\"strut bottom\"><\/span><span class=\"base textstyle uncramped\"><span class=\"mord\"><span class=\"mord mathit\">p<\/span><span class=\"msupsub\"><span class=\"vlist\"><span><span class=\"fontsize-ensurer reset-size5 size5\">\u200b<\/span><span class=\"reset-textstyle scriptstyle cramped mtight\"><span class=\"mord mathrm mtight\">1<\/span><\/span><\/span><span class=\"baseline-fix\"><span class=\"fontsize-ensurer reset-size5 size5\"><span>\u200b<\/span><\/span>\u200b<\/span><\/span><\/span><\/span><\/span><\/span><\/span><code>^<\/code><span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"strut\"><\/span><span class=\"strut bottom\"><\/span><span class=\"base textstyle uncramped\"><span class=\"mord\"><span class=\"mord mathit\">k<\/span><span class=\"msupsub\"><span class=\"vlist\"><span><span class=\"fontsize-ensurer reset-size5 size5\">\u200b<\/span><span class=\"reset-textstyle scriptstyle cramped mtight\"><span class=\"mord mathrm mtight\">1<\/span><\/span><\/span><span class=\"baseline-fix\"><span class=\"fontsize-ensurer reset-size5 size5\"><span>\u200b<\/span><\/span>\u200b<\/span><\/span><\/span><\/span><\/span><\/span><\/span><code>*<\/code><span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"strut\"><\/span><span class=\"strut bottom\"><\/span><span class=\"base textstyle uncramped\"><span class=\"mord\"><span class=\"mord mathit\">p<\/span><span class=\"msupsub\"><span class=\"vlist\"><span><span class=\"fontsize-ensurer reset-size5 size5\">\u200b<\/span><span class=\"reset-textstyle scriptstyle cramped mtight\"><span class=\"mord mathrm mtight\">2<\/span><\/span><\/span><span class=\"baseline-fix\"><span class=\"fontsize-ensurer reset-size5 size5\"><span>\u200b<\/span><\/span>\u200b<\/span><\/span><\/span><\/span><\/span><\/span><\/span><code>^<\/code><span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"strut\"><\/span><span class=\"strut bottom\"><\/span><span class=\"base textstyle uncramped\"><span class=\"mord\"><span class=\"mord mathit\">k<\/span><span class=\"msupsub\"><span class=\"vlist\"><span><span class=\"fontsize-ensurer reset-size5 size5\">\u200b<\/span><span class=\"reset-textstyle scriptstyle cramped mtight\"><span class=\"mord mathrm mtight\">2<\/span><\/span><\/span><span class=\"baseline-fix\"><span class=\"fontsize-ensurer reset-size5 size5\"><span>\u200b<\/span><\/span>\u200b<\/span><\/span><\/span><\/span><\/span><\/span><\/span><code>*<\/code>\u2026<code>*<\/code><span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"strut\"><\/span><span class=\"strut bottom\"><\/span><span class=\"base textstyle uncramped\"><span class=\"mord\"><span class=\"mord mathit\">p<\/span><span class=\"msupsub\"><span class=\"vlist\"><span><span class=\"fontsize-ensurer reset-size5 size5\">\u200b<\/span><span class=\"reset-textstyle scriptstyle cramped mtight\"><span class=\"mord mathit mtight\">m<\/span><\/span><\/span><span class=\"baseline-fix\"><span class=\"fontsize-ensurer reset-size5 size5\"><span>\u200b<\/span><\/span>\u200b<\/span><\/span><\/span><\/span><\/span><\/span><\/span><code>^<\/code><span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"strut\"><\/span><span class=\"strut bottom\"><\/span><span class=\"base textstyle uncramped\"><span class=\"mord\"><span class=\"mord mathit\">k<\/span><span class=\"msupsub\"><span class=\"vlist\"><span><span class=\"fontsize-ensurer reset-size5 size5\">\u200b<\/span><span class=\"reset-textstyle scriptstyle cramped mtight\"><span class=\"mord mathit mtight\">m<\/span><\/span><\/span><span class=\"baseline-fix\"><span class=\"fontsize-ensurer reset-size5 size5\"><span>\u200b<\/span><\/span>\u200b<\/span><\/span><\/span><\/span><\/span><\/span><\/span>, where<span>\u00a0<\/span><span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"strut\"><\/span><span class=\"strut bottom\"><\/span><span class=\"base textstyle uncramped\"><span class=\"mord\"><span class=\"mord mathit\">p<\/span><span class=\"msupsub\"><span class=\"vlist\"><span><span class=\"fontsize-ensurer reset-size5 size5\">\u200b<\/span><span class=\"reset-textstyle scriptstyle cramped mtight\"><span class=\"mord mathit mtight\">i<\/span><\/span><\/span><span class=\"baseline-fix\"><span class=\"fontsize-ensurer reset-size5 size5\"><span>\u200b<\/span><\/span>\u200b<\/span><\/span><\/span><\/span><\/span><\/span><\/span>&#8216;s are prime factors of<span>\u00a0<\/span><span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"strut\"><\/span><span class=\"strut bottom\"><\/span><span class=\"base textstyle uncramped\"><span class=\"mord mathit\">N<\/span><\/span><\/span><\/span><span>\u00a0<\/span>in increasing order, and the exponent<span>\u00a0<\/span><span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"strut\"><\/span><span class=\"strut bottom\"><\/span><span class=\"base textstyle uncramped\"><span class=\"mord\"><span class=\"mord mathit\">k<\/span><span class=\"msupsub\"><span class=\"vlist\"><span><span class=\"fontsize-ensurer reset-size5 size5\">\u200b<\/span><span class=\"reset-textstyle scriptstyle cramped mtight\"><span class=\"mord mathit mtight\">i<\/span><\/span><\/span><span class=\"baseline-fix\"><span class=\"fontsize-ensurer reset-size5 size5\"><span>\u200b<\/span><\/span>\u200b<\/span><\/span><\/span><\/span><\/span><\/span><\/span><span>\u00a0<\/span>is the number of<span>\u00a0<\/span><span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"strut\"><\/span><span class=\"strut bottom\"><\/span><span class=\"base textstyle uncramped\"><span class=\"mord\"><span class=\"mord mathit\">p<\/span><span class=\"msupsub\"><span class=\"vlist\"><span><span class=\"fontsize-ensurer reset-size5 size5\">\u200b<\/span><span class=\"reset-textstyle scriptstyle cramped mtight\"><span class=\"mord mathit mtight\">i<\/span><\/span><\/span><span class=\"baseline-fix\"><span class=\"fontsize-ensurer reset-size5 size5\"><span>\u200b<\/span><\/span>\u200b<\/span><\/span><\/span><\/span><\/span><\/span><\/span><span>\u00a0<\/span>&#8212; hence when there is only one<span>\u00a0<\/span><span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"strut\"><\/span><span class=\"strut bottom\"><\/span><span class=\"base textstyle uncramped\"><span class=\"mord\"><span class=\"mord mathit\">p<\/span><span class=\"msupsub\"><span class=\"vlist\"><span><span class=\"fontsize-ensurer reset-size5 size5\">\u200b<\/span><span class=\"reset-textstyle scriptstyle cramped mtight\"><span class=\"mord mathit mtight\">i<\/span><\/span><\/span><span class=\"baseline-fix\"><span class=\"fontsize-ensurer reset-size5 size5\"><span>\u200b<\/span><\/span>\u200b<\/span><\/span><\/span><\/span><\/span><\/span><\/span>,<span>\u00a0<\/span><span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"strut\"><\/span><span class=\"strut bottom\"><\/span><span class=\"base textstyle uncramped\"><span class=\"mord\"><span class=\"mord mathit\">k<\/span><span class=\"msupsub\"><span class=\"vlist\"><span><span class=\"fontsize-ensurer reset-size5 size5\">\u200b<\/span><span class=\"reset-textstyle scriptstyle cramped mtight\"><span class=\"mord mathit mtight\">i<\/span><\/span><\/span><span class=\"baseline-fix\"><span class=\"fontsize-ensurer reset-size5 size5\"><span>\u200b<\/span><\/span>\u200b<\/span><\/span><\/span><\/span><\/span><\/span><\/span><span>\u00a0<\/span>is 1 and must<span>\u00a0<\/span><strong>NOT<\/strong><span>\u00a0<\/span>be printed out.<\/p>\n<h3 id=\"sample-input-\">Sample Input:<\/h3>\n<pre><code class=\"lang-in\">97532468\r\n<\/code><\/pre>\n<h3 id=\"sample-output-\">Sample Output:<\/h3>\n<pre><code class=\"lang-out\">97532468=2^2*11*17*101*1291<\/code><\/pre>\n<p>\u9898\u76ee\u89e3\u8bfb\uff1a\u628a\u4e00\u4e32\u6570\u5b57\u8fdb\u884c\u56e0\u5f0f\u5206\u89e3\uff0c\u5bf9\u91cd\u590d\u7684\u7d20\u6570\u8981\u7528\u6307\u6570\u7684\u8868\u8fbe\u65b9\u5f0f\u3002<\/p>\n<p>\u89e3\u9898\u601d\u8def\uff1a\u5f88\u7b80\u5355\u7684\u66b4\u529b\u7b97\u6cd5\uff0c\u56e0\u4e3a\u53ea\u6709\u4e00\u4e2a\u6570\u5b57\u4e5f\u4e0d\u9700\u8981\u526a\u679d\u5c31\u53ef\u4ee5\u5f97\u51fa\u7ed3\u679c\u3002map\u5f88\u9002\u5408\u505a\u8fd9\u79cd\u6709\u56fa\u5b9a\u987a\u5e8f\u7684\uff0c\u9700\u8981\u8bb0\u6570\u7684\u9898\u3002<\/p>\n<p>\u8fd9\u6b21\u505a\u9898\u6709\u4e00\u4e9b\u8bef\u533a\uff0c\u6bd4\u5982map\u4e2d\u5bf9value\u7684\u52a0\u6cd5\u5e94\u8be5\u7528prime[i]++\u800c\u4e0d\u662fprime.at(i)++\u3002<\/p>\n<p>\u8fd8\u6709\u5bf9\u5faa\u73af\u7684\u5224\u65ad\u5e94\u8be5\u662f\u5c0f\u4e8eNUM\u800c\u4e0d\u662f\u5b83\u7684\u5e73\u65b9\u6839\uff0c\u8fd8\u597d\u8fd9\u9053\u9898\u901a\u8fc7\u5f88\u5c0f\u7684\u6570\u5c31\u53ef\u4ee5\u770b\u51fa\u54ea\u91cc\u9519\u4e86\uff0c\u6ca1\u6709long int\u7684\u6ea2\u51fa\u95ee\u9898\u3002<\/p>\n<p>AC\u4ee3\u7801\uff1a<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"cpp\">#include &lt;iostream&gt;\r\n#include &lt;algorithm&gt;\r\n#include &lt;map&gt;\r\nusing namespace std;\r\nbool isPrime( long int n ){\r\n  if (n == 1) return false;\r\n  for (long int i = 2; i &lt;= sqrt(n); i++) {\r\n    if (n % i == 0)return false;\r\n  }\r\n  return true;\r\n}\r\nint main()\r\n{\r\n  long int num;\r\n  map&lt;long int,int&gt; primetime;\r\n  cin &gt;&gt; num;\r\n  cout &lt;&lt; num &lt;&lt; \"=\";\r\n  int flag = 1;\r\n  while (num != 1 &amp;&amp; flag == 1) {\r\n    flag = 0;\r\n    for (long int i = 2; i &lt;= num; i++) {\r\n      if (isPrime(i) &amp;&amp; num % i == 0) {\r\n        primetime[i]++;\r\n        num = num\/i;\r\n        flag = 1;\r\n        break;\r\n      }\r\n    }\r\n  }\r\n  if (primetime.size() == 0) {\r\n    cout &lt;&lt;\"1*\"&lt;&lt; num &lt;&lt; endl;\r\n  }\r\n  int count = 1;\r\n  for (auto value : primetime) {\r\n    if (value.second != 1)\r\n      cout &lt;&lt; value.first &lt;&lt; \"^\" &lt;&lt; value.second;\r\n    else cout &lt;&lt; value.first;\r\n    if (count &lt; primetime.size())\r\n      cout &lt;&lt; \"*\";\r\n    count++;\r\n  }\r\n}\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>1059\u00a0Prime Factors\u00a0(25\u00a0\u5206) Given any positive integ [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[16,17],"tags":[],"_links":{"self":[{"href":"http:\/\/www.magicmipamipa.com\/index.php?rest_route=\/wp\/v2\/posts\/971"}],"collection":[{"href":"http:\/\/www.magicmipamipa.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.magicmipamipa.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.magicmipamipa.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.magicmipamipa.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=971"}],"version-history":[{"count":1,"href":"http:\/\/www.magicmipamipa.com\/index.php?rest_route=\/wp\/v2\/posts\/971\/revisions"}],"predecessor-version":[{"id":972,"href":"http:\/\/www.magicmipamipa.com\/index.php?rest_route=\/wp\/v2\/posts\/971\/revisions\/972"}],"wp:attachment":[{"href":"http:\/\/www.magicmipamipa.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=971"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.magicmipamipa.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=971"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.magicmipamipa.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=971"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}