给定数字N。任务是找到最小的N位ODD码。
例子:
Input: N = 1
Output: 1
Input: N = 3
Output: 101
方法:根据N的值,可以有两种情况。
情况1 :如果N = 1,则答案为1。
情况2 :如果N!= 1,则答案将是(10 ^(n-1))+ 1,因为最小的奇数序列将继续: 1、11、101、1001、10001、100001, …。
下面是上述方法的实现:
C++
// C++ implementation of the above approach
#include
using namespace std;
// Function to return smallest odd
// with n digits
int smallestOdd(int n)
{
if (n == 1)
return 1;
return pow(10, n - 1) + 1;
}
// Driver Code
int main()
{
int n = 4;
cout << smallestOdd(n);
return 0;
}
Java
// Java implementation of the approach
class Solution {
// Function to return smallest odd with n digits
static int smallestOdd(int n)
{
if (n == 1)
return 0;
return Math.pow(10, n - 1) + 1;
}
// Driver code
public static void main(String args[])
{
int n = 4;
System.out.println(smallestOdd(n));
}
}
Python3
# Python3 implementation of the approach
# Function to return smallest even
# number with n digits
def smallestOdd(n) :
if (n == 1):
return 1
return pow(10, n - 1) + 1
# Driver Code
n = 4
print(smallestOdd(n))
# This code is contributed by ihritik.
C#
// C# implementation of the approach
using System;
class Solution {
// Function to return smallest odd with n digits
static int smallestOdd(int n)
{
if (n == 1)
return 0;
return Math.pow(10, n - 1) + 1;
}
// Driver code
public static void Main()
{
int n = 4;
Console.Write(smallestOdd(n));
}
}
PHP
Javascript
输出:
1001
时间复杂度: O(1)。