码迷,mamicode.com
首页 > 其他好文 > 详细

hdu 1299 数论 分解素因子

时间:2014-05-01 03:31:17      阅读:256      评论:0      收藏:0      [点我收藏+]

标签:com   http   blog   style   class   div   img   code   c   java   log   

mamicode.com,码迷
题意:求1、1/x+1/y=1/z  给定z 求x,y的个数
zsd:
1: 要知道这个素数的因子的范围 范围为2——sqrt(n);
2:

带入方程得:x = n * n / k + n ;

现在就变成了求x的值。又因为n一定大于k,所以转换成求n * n的分解数;

因为n = p1 ^ e1 * p2 ^ e2 *..........*pn ^ en

sum ( n)= ( 1 + e1 ) * ( 1 +e2 ) * .........* ( 1 +en );

sum (n * n) = ( 1 + e1 ) * (1 + e2 ) *......* ( 1 + en ) ;



#include<iostream> #include<cstring> using namespace std; # define N 40003 int a[N]; int main() { int i,j; memset(a,0,sizeof(a)); for(i=2;i<N;i++) if(a[i]==0) { for(j=i+i;j<N;j+=i) a[j]=1; } int t; int n; cin>>t; int T=1; for(T=1;T<=t;T++) { cin>>n; int sum=1; for(i=2;i<=N;i++) { if(a[i]) continue; if(n%i!=0) continue; if(n==1) break; int c=0; while(n%i==0) { n=n/i; c++; } if(c>0) sum*=(2*c+1); } if(n!=1) sum*=3; cout<<"Scenario #"<<T<<":"<<endl; cout<<sum/2+1<<endl<<endl; } return 0; }
mamicode.com,码迷

 

hdu 1299 数论 分解素因子,码迷,mamicode.com

hdu 1299 数论 分解素因子

标签:com   http   blog   style   class   div   img   code   c   java   log   

原文地址:http://www.cnblogs.com/zhangdashuai/p/3702214.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!