题目描述
给定位数的数位分离想必大家都已经学会了,给定位数的数位分离想必大家都已经学会了,接下来让我们加大难度。给你一个十位以内的整数,你能输出它的任意一位的数字么。
输入
两个整数S,x。以空格隔开,其中0<S<=2^31,x<=log10 S。
输出
S的第x位上的数字。
样例输入
123456 4
样例输出
4
# include<stdio.h>
# include<math.h>
int main(void)
{
long long int n,b,a,len,i,s;
scanf("%lld %lld",&n,&b);
len=(int)log10(n)+1;
s=len-b+1;
for(i=1;i<=s;i++)
{
a=n%10;
n=n/10;
}
printf("%lld\n",a);
return 0;
}
#include<stdio.h>
#include<math.h>
int main(void)
{
long long int x,n,m=0,k,y;
scanf("%lld%lld",&x,&n);
k=x;
while(x!=0)
{
x=x/10;
m++;
}
y=k/pow(10,m-n);
printf("%lld\n",y%10);
return 0;
}
如果不将数据从整型换成长整形的话将会造成时间超限