题意:按照s型分别给数编号,给
#include <stdio.h> #include <stdlib.h>int main() {int n;while(scanf("%d",&n) != EOF){int s=0,k=1;while(1){s+=k;//统计个数,当前几斜线和大于了规定的序号,说明此时该数在第k根斜线if(s>=n){//将分子和分母关系图分为两块,斜线分为两种,第奇数条if(k%2) printf("TERM %d IS %d/%d\n",n,s-n+1,k-s+n);//第奇数条else printf("TERM %d IS %d/%d\n",n,k-s+n,s-n+1);//第偶数条break;}k++;}}return 0; } /*对k-s+n和s-n+1理解: 对分子,奇数列是在递减,偶数列递增 对分母,奇数列在递增,偶数列在递减 图中逻辑关系是:奇数列分子递减,分母递增 偶数列,分子递增,分母递减 递减用s-n+1,递增用k-s+n
出一个序号,输出这个数