70 lines
1.6 KiB
Java
70 lines
1.6 KiB
Java
package chelper;
|
|
|
|
import io.InputReader;
|
|
import io.OutputWriter;
|
|
|
|
public class Slerk {
|
|
|
|
public void solve(int testNumber, InputReader in, OutputWriter out) {
|
|
// int n = in.nextInt();
|
|
for (int n = 1; n <= 1000; n++) {
|
|
f(n, out);
|
|
}
|
|
}
|
|
|
|
void f(int n, OutputWriter out) {
|
|
int[] yearMonthDay = {1, 1, 1};
|
|
if (n > 220) {
|
|
n -= 220;
|
|
yearMonthDay[0] += 12;
|
|
yearMonthDay[0] += (n / 66);
|
|
n %= 66;
|
|
if (n == 0) {
|
|
yearMonthDay[0] -= 1;
|
|
yearMonthDay[1] = 12;
|
|
yearMonthDay[2] = 11;
|
|
out.println(yearMonthDay[0] + "/" + yearMonthDay[1] + "/" + yearMonthDay[2]);
|
|
return;
|
|
}
|
|
int cur = 0;
|
|
for (int i = 1; i < 12; i++) {
|
|
cur += i;
|
|
if (n <= cur) {
|
|
yearMonthDay[1] = i + 1;
|
|
cur -= i;
|
|
break;
|
|
}
|
|
}
|
|
n -= cur;
|
|
yearMonthDay[2] = n;
|
|
out.println(yearMonthDay[0] + "/" + yearMonthDay[1] + "/" + yearMonthDay[2]);
|
|
} else {
|
|
int[] c = {1, 3, 6, 10, 15, 21, 28, 36, 45, 55};
|
|
yearMonthDay[0] = 3;
|
|
int cur = 0;
|
|
for (int i = 0; i < 11; i++) {
|
|
cur += c[i];
|
|
if (n > cur) {
|
|
yearMonthDay[0]++;
|
|
} else {
|
|
cur -= c[i];
|
|
break;
|
|
}
|
|
}
|
|
n -= cur;
|
|
cur = 0;
|
|
for (int i = 1; i < 12; i++) {
|
|
cur += i;
|
|
if (n <= cur) {
|
|
yearMonthDay[1] = i + 1;
|
|
cur -= i;
|
|
break;
|
|
}
|
|
}
|
|
n -= cur;
|
|
yearMonthDay[2] = n;
|
|
out.println(yearMonthDay[0] + "/" + yearMonthDay[1] + "/" + yearMonthDay[2]);
|
|
}
|
|
}
|
|
}
|