1059. Prime Factors (25)
来源:互联网 发布:无绳跳绳 知乎 编辑:程序博客网 时间:2024/05/16 18:52
题目链接:http://www.patest.cn/contests/pat-a-practise/1059
题目:
Given any positive integer N, you are supposed to find all of its prime factors, and write them in the format N = p1^k1* p2^k2 *…*pm^km.
Input Specification:
Each input file contains one test case which gives a positive integer N in the range of long int.
Output Specification:
Factor N in the format N = p1^k1 * p2^k2 *…*pm^km, where pi's are prime factors of N in increasing order, and the exponent ki is the number of pi -- hence when there is only one pi, ki is 1 and must NOT be printed out.
Sample Input:97532468Sample Output:
97532468=2^2*11*17*101*1291
分析:
注意边界条件1=1的情况
AC代码:
#include<stdio.h>using namespace std;bool mark[100001];int prime[100001];int primeSize;void init(){ primeSize = 0; for (int i = 2; i <= 100000; i++){ if (mark[i] == true)continue; prime[primeSize++] = i; if (i >= 1000)continue; for (int j = i * i; j <= 100000; j += i){ mark[j] = true; } }}int main(){ freopen("F://Temp/input.txt", "r", stdin); init(); int n1,n; scanf("%d", &n1); n = n1; if (n == 1){//*point printf("1=1\n"); return 0; } int ansPrime[30]; int ansSize = 0; int ansNum[30]; for (int i = 0; i < primeSize; i++){ if (n % prime[i] == 0){ ansPrime[ansSize] = prime[i]; ansNum[ansSize] = 0; while (n % prime[i] == 0){ ansNum[ansSize] ++; n /= prime[i]; } ansSize++; if (n == 1)break; } } if (n != 1){ ansPrime[ansSize] = n; ansNum[ansSize++] = 1; } printf("%d=", n1); for (int i = 0; i < ansSize;i ++){ if (i == ansSize - 1){ if (ansNum[i] == 1)printf("%d\n", ansPrime[i]); else printf("%d^%d\n", ansPrime[i], ansNum[i]); } else{ if (ansNum[i] == 1)printf("%d*", ansPrime[i]); else printf("%d^%d*", ansPrime[i], ansNum[i]); } } return 0;}
截图:
没有注意到1=1的情况下案例3出错。
后来:
——Apie陈小旭
0 0
- 1059. Prime Factors (25)
- 1059. Prime Factors (25)
- 1059. Prime Factors (25)
- 1059. Prime Factors (25)
- 1059. Prime Factors (25)
- 1059. Prime Factors (25)
- 1059. Prime Factors (25)
- 1059. Prime Factors (25)
- 1059. Prime Factors (25)
- 1059. Prime Factors (25)
- 1059. Prime Factors (25)
- 1059. Prime Factors (25)
- 1059. Prime Factors (25)
- 1059. Prime Factors (25)
- 1059. Prime Factors (25)
- 1059. Prime Factors (25)
- 1059. Prime Factors (25)
- 1059. Prime Factors (25)
- 搭建web项目结合spring+cxf的webservice服务
- 软件设计师考点之--软件设计模型和排序算法
- 序列加密
- 【年总】——因为坚持平凡,所以不平凡
- Ubuntu 下使用minicom 的配置过程
- 1059. Prime Factors (25)
- spine 破解以及导出到Unity
- 数组 指针杂记
- android入门——用RadioGroup实现Fragment的切换
- idea 快捷键
- 步进电机及驱动芯片选型指南
- python—指定日期,从用户登录列表中找出用户该日期最可能的地理位置
- 10622 - Perfect P-th Powers(唯一分解定律)
- Linux下 Apache服务器配置CGI(perl)