1164.digit函数
大家帮我看看这个代码如何简化:
#include<bits/stdc++.h>
using namespace std;
unsigned long long digit(int n,int k){
for(unsigned long long i=1;i<=n;i++){
if(k==1){
return n%10;
}else if(k==2){
return n/10%10;
}else if(k==3){
return n/100%10;
}else if(k==4){
return n/1000%10;
}else if(k==5){
return n/10000%10;
}else if(k==6){
return n/100000%10;
}else if(k==7){
return n/1000000%10;
}else if(k==8){
return n/10000000%10;
}else if(k==9){
return n/100000000%10;
}else if(k==10){
return n/1000000000%10;
}else if(k==11){
return n/10000000000%10;
}else if(k==12){
return n/100000000000%10;
}else if(k==13){
return n/1000000000000%10;
}else if(k==14){
return n/10000000000000%10;
}else if(k==15){
return n/100000000000000%10;
}else if(k==16){
return n/1000000000000000%10;
}else if(k==17){
return n/10000000000000000%10;
}else if(k==18){
return n/100000000000000000%10;
}else if(k==19){
return n/1000000000000000000%10;
}
}
}
int main(){
unsigned long long n,k;
cin>>n>>k;
cout<<digit(n,k);
return 0;
}
这里我使用了枚举,考试可能超时