设为首页 加入收藏

TOP

HDU1299&&SPOJ - KPEQU(找因子来找解的个数)
2015-11-21 00:59:05 来源: 作者: 【 】 浏览:2
Tags:HDU1299&&SPOJ KPEQU 子来 解的 个数

?

题意:

求方程1/x+1/y=1/n的解的个数 1/3+1/2 与1/2+1/3看作是一组解。

分析:

1/x+1/y = 1/n 设y = n + k;

==>1/x + 1/(n+k)=1/n;

==>x = n^2/k + n;

因为x为整数,k就是n^2的约数。

代码如下:

#include 
  
   
#include 
   
     #include 
    
      #include 
     
       using namespace std; const int maxn = 1e7+10; typedef long long LL; int p[maxn/10],cnt; bool vis[maxn]; int fac[1000],tot; void init(){ cnt=0; memset(vis,0,sizeof(vis)); for(int i=2;i
      
       1) fac[tot++]=1; LL ans = 1; for(int i=0;i
       
        

题目链接:SPOJ - KPEQU 传送门

题意:

同上题差不多不过n换成了n!,因此需要用到高精度以及n!的素因子分解

import java.math.BigInteger;
import java.util.Scanner;

public class Main {
	static int cnt ;
	static int[] pri =new int[10010];
	static boolean[] vis = new boolean[10010];
	public static void init(){
		cnt=0;
		for(int i=0;i<10010;i++) vis[i] = false;
		for(int i=2;i<10010;i++){
			if(!vis[i]){
				pri[cnt++]=i;
				for(int j=i+i;j<10010;j+=i) vis[j]=true;
			}
		}
	}
	public static int calc(int n,int p){
		if(n
         
          

?

?

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇BZOJ 1124 POI2008 枪战Maf 贪心 下一篇[LeetCode] Basic Calculator II

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: