题解 | 无限长正整数排列字符串
无限长正整数排列字符串
https://www.nowcoder.com/practice/82c92d2321bb4220a3006d52a95a8bdd
#include <stdio.h>
#include<math.h>
int main() {
char s[1005];
int n;
int m1,m2;
scanf("%d",&n);
if(n<=9){//9表示1-9的字符数
printf("%d",n);
}
else if(n<=189){//189表示1-99的字符数
m1=(n-9)%2;
m2=ceil((n-9)/2.0);
if(m1==0)
printf("%d",(9+m2)%10);
else
printf("%d",(9+m2)/10);
}
else{
m1=(n-189)%3;
m2=ceil((n-189)/3.0);
if(m1==0)
printf("%d",(99+m2)%10);
if(m1==1)
printf("%d",(99+m2)/100);
if(m1==2)
printf("%d",(99+m2)%100/10);
}
return 0;
}
智元机器人成长空间 270人发布