題目來源:賽碼網
網址:http://exercise.acmcoder.com/online/online_judge_ques?ques_id=1664&konwledgeId=134
代碼:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in);
int temp;
while(in.hasNext()) {
temp=in.nextInt();
int n=num(temp);
System.out.println(n);
}
}
public static int num(int n) {
if (n==1) return 1;
int i=0,j=1,max=1,sum=1;//i:用於判斷每段遞增; j:計數器; max:用於記錄每一段遞增後的值; sum:返回值;
do{
j++;
i++;
if(i-max==1) {
max=i;
i=0;
sum-=2;
}
sum++;
}while(j<n);
return sum;
}
}