原文:

给定一个整数 n ,任务是找出一个数为 n 的数是回文的概率。 数字可能有前导零。 例:

输入: n = 5 输出: 1 / 100 输入: n = 6 输出: 1 / 1000

pg电子试玩链接的解决方案:

  • 由于允许前导零,因此 n 位数的总数为10nt5。
  • 当第一个 n/2 数字与最后一个 n/2 数字以相反的顺序匹配时,数字就是回文。
  • 对于偶数位数,我们可以先选择 n/2 位,然后复制它们形成剩余的 n/2 位,这样我们就可以选择(n)/2 位。
  • 对于奇数个数字,我们可以首先选择 (n-1)/2 个数字,然后复制它们以形成其余的 (n-1)/2 个数字,因此我们可以选择 (n 1)/2 个数字。
  • 所以一个 n 数字是回文的概率是 10 天花板(n / 2 ) / 10 n 或者 1 / 10 地板(n / 2 )

以下是实施办法:

c

// c   code of above approach
#include 
using namespace std;
// find the probability that a
// n digit number is palindrome
void solve(int n)
{
    int n_2 = n / 2;
    // denominator
    string den;
    den = "1";
    // assign 10^(floor(n/2)) to
    // denominator
    while (n_2--)
        den  = '0';
    // display the answer
    cout << 1 << "/" << den << "\n";
}
// driver code
int main()
{
    int n = 5;
    solve(n);
    return 0;
}

java 语言(一种计算机语言,尤用于创建网站)

// java code of above approach
import java.util.*;
class gfg
{
// find the probability that a
// n digit number is palindrome
static void solve(int n)
{
    int n_2 = n / 2;
    // denominator
    string den;
    den = "1";
    // assign 10^(floor(n/2)) to
    // denominator
    while (n_2-- > 0)
        den  = '0';
    // display the answer
    system.out.println(1   "/"   den);
}
// driver code
public static void main(string[] args)
{
    int n = 5;
    solve(n);
}
}
// this code is contributed by rajput-ji

python 3

# python3 code of above approach
# find the probability that a
# n digit number is palindrome
def solve(n) :
    n_2 = n // 2;
    # denominator
    den = "1";
    # assign 10^(floor(n/2)) to
    # denominator
    while (n_2) :
        den  = '0';
        n_2 -= 1
    # display the answer
    print(str(1)   "/"   str(den))
# driver code
if __name__ == "__main__" :
    n = 5;
    solve(n);
# this code is contributed by ankitrai01

c

// c# implementation of the approach
using system;
class gfg
{
// find the probability that a
// n digit number is palindrome
static void solve(int n)
{
    int n_2 = n / 2;
    // denominator
    string den;
    den = "1";
    // assign 10^(floor(n/2)) to
    // denominator
    while (n_2-- > 0)
        den  = '0';
    // display the answer
    console.writeline(1   "/"   den);
}
// driver code
public static void main(string[] args)
{
    int n = 5;
    solve(n);
}
}
// this code is contributed by princiraj1992

java 描述语言


output: 

1/100