rt,一开始楼主并没有理解cantor表的本质导致卡题,在查看题解的过程发现大佬们的题解都很精彩,但对于我这样的小白很难理解,所以我在这里贴出来我的做法,我个人认为这种做法应该是最容易使初学者理解的了。
此外,这道题很容易错的一个点是它和原子能级表的划分方式不同>_<,要根据奇偶性进行区分。
下面是我的做法(用c++实现,思路是通用的)
#include<iostream>
using namespace std;
int main() {
int n, a, b, i = 1, sum = 0;
cin >> n;
while (sum < n) {
sum += i;
i++;
}
sum = sum - i + 1;
i--;
a = n - sum;
b = i - a + 1;
if (i % 2 == 0) {
cout << a << "/" << b << endl;
}
else{
cout << b << "/" << a << endl;
}
return 0;
}