13894. 珅泽教育CSP-J第一轮模拟考第十九套 第 26 题

珅泽教育CSP-J第一轮模拟考第十九套 第 26 题

阅读程序第2题

阅读下面的程序,完成第22—28题。

int length(int x)
{
    int c = 0;
    while (x > 0) {
        c++;
        x /= 10;
    }
    return c;
}

int select(int n, int k)
{
    if (k > 0)
        return select(n/10, k-1);
    else
        return n % 10;
}

int solve(int k)
{
    int n = 1;
    while (k > length(n)) {
        k -= length(n);
        n++;
    }
    return select(n, length(n) - k);
}

若 solve(k) = 7 且 k 是一个两位数,则 k 的值可能是( )。

{{ select(1) }}

  • 25
  • 17
  • 27
  • 37