【题目描述】
在程序中定义一函数digit(n,k),它能分离出整数n从右边数第k个数字。
【输入输出样例】
输入:31859 3
输出:8
【解题技巧】
运用递归,每一次递归都用i来标号,若i与k相等了,就可以输出n的末尾。递归时n去尾,n++。(i最开始为一)
【源代码】
#include<bits/stdc++.h>
#include<iostream>
#include<cstdio>
#include<cstring>
#include<iomanip>
#include<cmath>
#include<algorithm>
#include<vector>
#include<map>
#include<set>
#include<queue>
using namespace std;
int i=1;//当前是第i次操作,若i与k相等了,就结束函数
int digit(int n,int k){//定义digit函数
if(i==k)return n%10;//如果i与k相等了,就输出n的最后一位(n%10)
n/=10;i++;//如果未结束,n去尾,i加1
return digit(n,k);//递归
}
int main(){
int n,k;cin>>n>>k;
cout<<digit(n,k);//传入n和k
return 0;
}
//♂_The_LYH_25_♂