Name: Anonymous 2011-04-13 9:05
http://i56.tinypic.com/9qlh52.png
my solution in Java
my solution in Java
import java.io.*;
import java.util.*;
public class ProblemF {
public static void main(String[] args) throws Exception {
BufferedReader fileIn = new BufferedReader(new FileReader("f.in"));
String line = null;
while ((line = fileIn.readLine()) != null) {
int number = Integer.parseInt(line);
if (number <= 0 || number >= 100000000) {
break;
}
System.out.println(number +" : "+ getOrderedPairs(number));
}
}
public static String getOrderedPairs(int number) {
StringBuffer buff = new StringBuffer();
int pairCount = 0;
for (int i = 1; i <= number; i++) {
for (int j = i; j <= number; j++) {
int sum = getSummation(i, j);
if (sum == number) {
pairCount++;
buff.append(" ("+ i +","+ j +")");
break;
} else if (sum > number) {
break;
}
}
}
buff.insert(0, pairCount +" :");
return buff.toString();
}
public static int getSummation(int tempA, int tempB) {
int a = tempA - 1;
int b = tempB;
int sumB = ((b * (b + 1)) / 2);
int sumA = ((a * (a + 1)) / 2);
return sumB - sumA;
}
}