标签:
今天加群遇到了这个问题,百度有在线分解质因数的计算器,附上网址。http://www.atool.org/quality_factor.php?
但是,一个ACMer要会利用百度,而不是依赖百度,这种简单的代码,自己也可以轻松搞定。
#include <iostream> #include <math.h> using namespace std; int main() { //不需要分解质因数 1组数据直接暴力跑就行了 打表也简单 long long c=462377900; int cnt=0; int num[30005]={0},prime[30005]={0}; // 注意这里一定要定义 因为c一直在变 如果for里面用i<=sqrt(c) 循环跑到85就停了 我试过了 long long must=sqrt(c); for(int i=2;i<=must;i++) { if(c%i==0) { while(c%i==0) { num[cnt]++; c/=i; } prime[cnt++]=i; } } cout<<prime[0]; num[0]--; for(int i=0;i<cnt;i++) { for(int j=0;j<num[i];j++) cout<<"*"<<prime[i]; } cout<<endl; return 0; }
标签:
原文地址:http://www.cnblogs.com/Ritchie/p/5441901.html