天天看點

藍橋杯第八屆真題:取數位

點選檢視:藍橋杯曆年真題 題解目錄

取數位(代碼填空)

藍橋杯第八屆真題:取數位
1.經過分析已知代碼,第k位,為從做往右數,第k位。
2.因為 if(len(x)-k==0) return x%10;是以結果是最後一位(個位)
3. 每次删除個位,直到位數=k,此時個位就是第k位。
           
import java.util.*;
public class Main005{
     static int len(int x){
     if(x<10) return 1;
   	 return len(x/10)+1;
     }
     // 取x的第k位數字
     static int f(int x, int k){
     if(len(x)-k==0) return x%10;
   	 return f(x/10, k) ;  //填空
     }
     public static void main(String[] args){
    	int x = 23513;
         //System.out.println(len(x));
    	System.out.println(f(x,3));
     }
}
           

繼續閱讀