毛學姐大戰學渣(18.11.28)
阿新 • • 發佈:2018-11-28
毛學姐大戰學渣
Description
又到了毛學姐屠殺學渣的時候了,學渣根據實力不同從 Lv1 依次向上提升,毛學姐每屠殺一個學渣就會不斷地提升自己的實力,從而挑戰更高等級的學渣,他按照這樣的方式屠殺學渣:1,1,2,1,1,1,3,1,1,1,1,4,1,1,1,1,1,5…1,1,2,1,1,1,3,1,1,1,1,4,1,1,1,1,1,5…1,1,2,1,1,1,3,1,1,1,1,4,1,1,1,1,1,5… 第一二天他屠殺2個Lv1的學渣,然後第三天能夠屠殺一個LV2的學渣,接下來,毛學姐再殺3個LV1的學渣【為了恢復體力】,然後殺死一個LV3的學渣,如此往復。但是毛學姐數學不好,殺著殺著就忘了今天該輪到等級多少的學渣了,請你幫他計算一下。
Input
有多組測試樣例。輸入一個正整數數NNN,代表要殺的第NNN個學渣。(0<N<100000)
Output
輸出第NNN個學渣的等級
Sample Input 1
1
18
####Sample Output 1
1
5
這道題沒啥意思…就是需要額外定義一個變數就好了,很簡單的一題
程式碼:
#include<stdio.h> int main() { int a,i; while(scanf("%d",&a)!=EOF) { if(a==1) printf("1\n"); else { i=2; //定義變數,代表每次要殺的LV1的學渣 while(a>0) { a-=1; //注意每次把高階的學渣也減掉 a-=i; i+=1; //注意對i遞增 } if(a==0) //如果正好減完那麼代表正好在高階學渣那 printf("%d\n",i-1); //i額外多加了一次1 減掉即可 else //如果減完小於零,則證明此時處在低階學渣那,直接輸出1就行 printf("%d\n",1); } } return 0; }