求Cantor数

来源:互联网 发布:边缘检测算法 编辑:程序博客网 时间:2024/06/07 19:51

这个比较需要注意的点就是要分开偶数和奇数的区别.

贴出代码:

#include <stdio.h>#include <string.h>#include <iostream>#include <string>using namespace std;int main(){int N;while (scanf("%d", &N) != EOF){int sum = 0;int k;// k代表是第k条线. for (int i = 1; ; i++){sum += i;if (N <= sum){k = i; break;}}// 此时已经求得了K;int num_of_rev = sum - N + 1;int num_ele = k + 1 - num_of_rev;if (k % 2 == 0){//int num_ele = k + 1 - num_rev;printf("%d/%d\n", num_ele, num_of_rev);}else{printf("%d/%d\n", num_of_rev, num_ele);}} system("pause");return 0;} 


原创粉丝点击