杭电ACM1164
来源:互联网 发布:mac输入法记忆 编辑:程序博客网 时间:2024/06/06 07:34
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1164
题目大意:给出任意一个小于等于65535的数字,要求求出它的全部质因数,并以质因数相乘的形式输出。
解题思路:简单题。程序的最开始先打表,求出65535之前的全部质数,然后用一个循环一一判断每个质数是否是当前数字的因数,若是则保存在一个数组里,同时保存这个数组的下标,然后根据这个数组进行输出。
AC代码:
#include <iostream>#include <math.h>using namespace std;int factor[100000];int p[65536];int getfactor(int n){int index=0;int i=0;int temp = n;while(n!=1&&p[i]<=temp){if(n%p[i]==0){factor[index] = p[i];index++;n/=p[i];}else i++;}return index;}int main(){int index=0;int n;int num;for(int i=2;i<65536;i++){int j;for(j=2;j<=sqrt(i);j++){if(i%j==0)break;}if(j>sqrt(i)){p[index] = i;index++;}}while(cin>>n){num = getfactor(n);for(int i=0;i<num;i++){if(i==0)cout<<factor[i];else cout<<"*"<<factor[i];}cout<<endl;}return 0;}
0 0
- 杭电ACM1164
- 杭电acm1164 分解成质因数
- 杭电
- 杭电
- 杭电
- 杭电 1234 和 杭电 2115
- 杭电2056之Rectangles 杭电
- 杭电ACM1061Rightmost Digit
- 杭电2099 7.11
- 杭电ACM 1003
- 杭电 ACM 2016
- 杭电ACM1466
- 杭电ACM1003
- 杭电ACM1225
- 杭电ACM2023
- 杭电ACM2602
- 杭电ACM2955
- 杭电ACM3198
- iOS开发实战tips--断点可以这样玩(debug)
- web项目快速代码生成器rapid-framework
- BestCoder Round #63 (div.1) B.matrix
- 获取嵌入ActiveX控件的页面IWebBrowser2指针
- 在Jquery实现Ajax和JS实现Ajax的方法
- 杭电ACM1164
- JavaScript 之事件处理详解
- HDU-5568 sequence2(DP+高精度)
- (一)Unix、Linux以及GNU
- Spark Streaming大规模流式处理
- Chrome postman插件用来测试http 接口
- `````
- PHP入门(3) - 字符串操作
- Object-C 学习第一天