2010年10月1日金曜日

PKU Judge Online 2140 Herd Sums

■2140 Herd Sums

□Problem
自然数nを連続した自然数の和で表すには何通りのやり方があるか.
15の時は4通り.
15=1+2+3+4+5=4+5+6=7+8

□Solution
昔,考えた方法で解きました.同じようなことが書かれているページがあったので↓参照ということで.
http://www.bun-eido.co.jp/t_math/sjournal/sj28/sj282530.pdf

□Code
package p2140;

import java.util.*;
import java.lang.*;
import java.math.*;
import java.io.*;

import static java.lang.Math.*;
import static java.util.Arrays.*;

// AC
public class Main{

Scanner sc=new Scanner(System.in);

final int INF=Integer.MAX_VALUE;
final double EPS=1e-9;

void run(){
int n=sc.nextInt();
n*=2;
int m=(int)Math.sqrt(n);
int ans=0;
for(int i=1; i<=m+1; i++){
if(n%i==0){
int d=i;
int e=n/i;
if(d>e)
break;
if((d+e)%2==1)
ans++;
}
}
println(ans+"");
}

void print(String s){
System.out.print(s);
}

void println(String s){
System.out.println(s);
}

public static void main(String[] args){
// System.setOut(new PrintStream(new BufferedOutputStream(System.out)));
new Main().run();
}
}

0 件のコメント: