求1個整數的第k位數字有很多種方法。以下的方法就是一種。
// 求x用10進製表示時的數字長度
int len(int x)
// 取x的第k位數字
int f(int x, int k)
int main()
答案:f(x/10,k);
本題考查遞迴演算法。
遞迴有三要素:
1、明確遞迴終止條件; 2、給出遞迴終止時的處理辦法; 3、提取重複的邏輯,縮小問題規模。(也稱剪枝)
這種方法使用遞迴來把第k位後面的數刪除掉,以達到x%10等於第k位的數,其中len函式就是判斷x是幾位數。而f函式中終止的條件是x的長度等於k,所以x的長度不等於k時,要把x刪掉一位。因此 return f(x/10);
另一種方法
#include#include#includeint main()
; int x,k;
scanf("%d%d",&x,&k);
itoa(x,a,10);
printf("%c",a[k-1]);
return 0;
}
利用iitoa函式把數字轉換成字元陣列。 初探藍橋杯
在西方,星期五和數字13都代表著壞運氣,兩個不幸的個體最後結合成超級不幸的的一天。所以,不管哪個月的十三日又恰逢星期五就叫 黑色星期五 要求輸入年份和該年的第一天的星期數,判斷該年是否包含黑色星期五,如果包含給出具體的日期。測試樣例 輸入 1998 4 輸出 1998 2 13 1998 3 13 ...
藍橋杯入門訓練 藍橋杯備賽
begin 1 a b問題str1 input str2 str1.split s int str2 0 int str2 1 print s begin 2 序列求和s int input 用公式計算而不用迴圈,避免超時 n s s 1 2print int n begin 3 圓的面積impor...
藍橋杯 暗戀
問題描述 同在乙個高中,他卻不敢去找她,雖然在別人看來,那是再簡單不過的事。暗戀,是他唯一能做的事。他只能在每天課間操的時候,望望她的位置,看看她傾心的動作,就夠了。操場上的彩磚啊,你們的位置,就是他們能夠站立的地方,他倆的關係就像磚與磚之間一樣固定,無法動搖。還記得當初鋪磚的工人,將整個操場按正方...