基数 B 的最大偶数和奇数 N 位数
给定一个整数 N 和基数 B ,任务是找出十进制形式的基数 B 的最大偶数和奇数 N 位数。
示例:
输入: N = 2,B = 5 输出: 偶数= 24 奇数= 23 说明: 基数为 5 的 2 位数最大偶数= 44,也就是十进制的 24。 基数为 5 的 2 位数最大奇数= 43,十进制为 23。
输入: N = 2,B = 10 T3】输出:T5】偶数= 98 奇数= 99
方法: 以十进制形式得到基 B 的最大偶数和奇数 N 位数由下式给出:
- 如果基数 B 是偶数,那么:
- 最大的 N 位偶数是(BN–2)。
- 最大 N 位奇数为(BN–1)。
- 如果基数 B 是奇数,那么:
- 最大 N 位偶数为(BN–1)。
- 最大 N 位奇数为(BN–2)。
下面是上述方法的实现:
C++
// C++ implementation of the
// above approach
#include <bits/stdc++.h>
using namespace std;
// Function to print the largest
// N-digit even and odd numbers
// of base B
void findNumbers(int n, int b)
{
// Initialise the Number
int even = 0, odd = 0;
// If Base B is even, then
// B^n will give largest
// Even number of N+1 digit
if (b % 2 == 0) {
// To get even number of
// N digit subtract 2 from
// B^n
even = pow(b, n) - 2;
// To get odd number of
// N digit subtract 1 from
// B^n
odd = pow(b, n) - 1;
}
// If Base B is odd, then
// B^n will give largest
// Odd number of N+1 digit
else {
// To get even number of
// N digit subtract 1 from
// B^n
even = pow(b, n) - 1;
// To get odd number of
// N digit subtract 2 from
// B^n
odd = pow(b, n) - 2;
}
cout << "Even Number = " << even << '\n';
cout << "Odd Number = " << odd;
}
// Driver's Code
int main()
{
int N = 2, B = 5;
// Function to find the
// numbers
findNumbers(N, B);
return 0;
}
Java 语言(一种计算机语言,尤用于创建网站)
// Java implementation of the
// above approach
import java.util.*;
class GFG{
// Function to print the largest
// N-digit even and odd numbers
// of base B
static void findNumbers(int n, int b)
{
// Initialise the Number
double even = 0, odd = 0;
// If Base B is even, then
// B^n will give largest
// Even number of N+1 digit
if (b % 2 == 0) {
// To get even number of
// N digit subtract 2 from
// B^n
even = Math.pow(b, n) - 2;
// To get odd number of
// N digit subtract 1 from
// B^n
odd = Math.pow(b, n) - 1;
}
// If Base B is odd, then
// B^n will give largest
// Odd number of N+1 digit
else {
// To get even number of
// N digit subtract 1 from
// B^n
even = Math.pow(b, n) - 1;
// To get odd number of
// N digit subtract 2 from
// B^n
odd = Math.pow(b, n) - 2;
}
System.out.println("Even Number = " + (int)even );
System.out.print("Odd Number = " + (int)odd);
}
// Driver's Code
public static void main(String[] args)
{
int N = 2, B = 5;
// Function to find the
// numbers
findNumbers(N, B);
}
}
// This code is contributed by Rajput-Ji
Python 3
# Python implementation of the
# above approach
# Function to print the largest
# N-digit even and odd numbers
# of base B
def findNumbers(n, b):
# Initialise the Number
even = 0;
odd = 0;
# If Base B is even, then
# B^n will give largest
# Even number of N+1 digit
if (b % 2 == 0):
# To get even number of
# N digit subtract 2 from
# B^n
even = pow(b, n) - 2;
# To get odd number of
# N digit subtract 1 from
# B^n
odd = pow(b, n) - 1;
# If Base B is odd, then
# B^n will give largest
# Odd number of N+1 digit
else:
# To get even number of
# N digit subtract 1 from
# B^n
even = pow(b, n) - 1;
# To get odd number of
# N digit subtract 2 from
# B^n
odd = pow(b, n) - 2;
print("Even Number = ",int(even));
print("Odd Number = ", int(odd));
# Driver's Code
if __name__ == '__main__':
N = 2;
B = 5;
# Function to find the
# numbers
findNumbers(N, B);
# This code is contributed by 29AjayKumar
C
// C# implementation of the
// above approach
using System;
class GFG{
// Function to print the largest
// N-digit even and odd numbers
// of base B
static void findNumbers(int n, int b)
{
// Initialise the Number
double even = 0, odd = 0;
// If Base B is even, then
// B^n will give largest
// Even number of N+1 digit
if (b % 2 == 0) {
// To get even number of
// N digit subtract 2 from
// B^n
even = Math.Pow(b, n) - 2;
// To get odd number of
// N digit subtract 1 from
// B^n
odd = Math.Pow(b, n) - 1;
}
// If Base B is odd, then
// B^n will give largest
// Odd number of N+1 digit
else {
// To get even number of
// N digit subtract 1 from
// B^n
even = Math.Pow(b, n) - 1;
// To get odd number of
// N digit subtract 2 from
// B^n
odd = Math.Pow(b, n) - 2;
}
Console.WriteLine("Even Number = " + (int)even );
Console.Write("Odd Number = " + (int)odd);
}
// Driver's Code
public static void Main(String[] args)
{
int N = 2, B = 5;
// Function to find the
// numbers
findNumbers(N, B);
}
}
// This code is contributed by 29AjayKumar
java 描述语言
<script>
// Javascript implementation of the
// above approach
// Function to print the largest
// N-digit even and odd numbers
// of base B
function findNumbers(n, b)
{
// Initialise the Number
var even = 0, odd = 0;
// If Base B is even, then
// B^n will give largest
// Even number of N+1 digit
if (b % 2 == 0) {
// To get even number of
// N digit subtract 2 from
// B^n
even = Math.pow(b, n) - 2;
// To get odd number of
// N digit subtract 1 from
// B^n
odd = Math.pow(b, n) - 1;
}
// If Base B is odd, then
// B^n will give largest
// Odd number of N+1 digit
else {
// To get even number of
// N digit subtract 1 from
// B^n
even = Math.pow(b, n) - 1;
// To get odd number of
// N digit subtract 2 from
// B^n
odd = Math.pow(b, n) - 2;
}
document.write("Even Number = " + even + "<br>");
document.write("Odd Number = " + odd);
}
// Driver's Code
var N = 2, B = 5;
// Function to find the
// numbers
findNumbers(N, B);
// This code is contributed by rrrtnx.
</script>
Output:
Even Number = 24
Odd Number = 23
版权属于:月萌API www.moonapi.com,转载请注明出处