- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
public class Problem33 {
public static void main(String arg[]){
long l1 = Calendar.getInstance().getTimeInMillis();
int amount = 0;
for(int a=1; a<=9; a++){
for(int b=1; b<=9; b++){
for(int c=1; c<=9; c++){
for(int d=1; d<=9; d++){
int numerator = a*10+b;
int denominator = c*10+d;
double fraction = 1.0*numerator/denominator;
if(numerator < denominator){
if(
(a==c && (1.0*b/d == fraction)) ||
(a==d && (1.0*b/c == fraction)) ||
(b==c && (1.0*a/d == fraction)) ||
(b==d && (1.0*a/c == fraction))
){
amount++;
System.out.println(a + "" + b + "/" + c + "" + d);
}
}
}
}
}
}
System.out.println(amount);
long l2 = Calendar.getInstance().getTimeInMillis();
System.out.println("Time: " + (l2-l1) + "ms");
}
}
Смотрю на код сейчас и мало что понимаю.
> 1.0*b/d == fraction
> double
> ==
a/b == c/d => a*d == b*c но автор видимо этого не знал...
Я представил себе J на платформе .net, и мне стало очень страшно. А потом вспомнил, что это всего лишь ява.
"Где здесь {0}, {1}?", LangName, UserName
Дык на то и был намек!
А "с" и "с" - она не различает?