题解 | 无限长正整数排列字符串

无限长正整数排列字符串

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;
}

全部评论

相关推荐

求求要我吧:你教育经历放在下面干什么,而且27届还是28届啊()另外看你简历有两面,通常来说投递运营岗位一面简历就够了。另外个人总结要写也放在简历最下面,然后你奖项那里是2019年的哇哈哈,那你究竟投递的是社招还是实习?实习的话你是第几届是肯定要写出来的,社招的话你这个工作经历又太短太花了
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务