題意:按照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
?
出一個序號,輸出這個數