对数:是幂运算的反函数,这意味着给定数字x的对数值是另一个数的指数。
以下是使用对数函数的一些技巧,这些技巧在竞争性编程中非常有用。
检查数字是否为2的幂:
给定整数N ,任务是检查数字N是否为2的幂。
例子:
Input: N = 8
Output: Yes
Input: N = 6
Output: No
方法:一种简单的方法是简单地以2为底的数字取对数,如果得到一个整数,则该数字为2的幂。
下面是上述方法的实现:
C++
// C++ implementation to check that
// a integer is a power of Two
#include
using namespace std;
// Function to check if the number
// is a power of two
bool isPowerOfTwo(int n)
{
return (ceil(log2(n)) == floor(log2(n)));
}
// Driver Code
int main()
{
int N = 8;
if (isPowerOfTwo(N)) {
cout << "Yes";
}
else {
cout << "No";
}
}
C
// C implementation to check that
// a integer is a power of Two
#include
#include
// Function to check if the number
// is a power of two
_Bool isPowerOfTwo(int n)
{
return (ceil(log2(n)) == floor(log2(n)));
}
// Driver Code
int main()
{
int N = 8;
if (isPowerOfTwo(N))
{
printf("Yes");
}
else
{
printf("No");
}
}
// This code is contributed by vikas_g
Java
// Java implementation to check that
// a integer is a power of Two
import java.lang.Math;
class GFG{
// Function to check if the number
// is a power of two
public static boolean isPowerOfTwo(int n)
{
return(Math.ceil(Math.log(n) /
Math.log(2)) ==
Math.floor(Math.log(n) /
Math.log(2)));
}
// Driver Code
public static void main(String[] args)
{
int N = 8;
if (isPowerOfTwo(N))
{
System.out.println("Yes");
}
else
{
System.out.println("No");
}
}
}
// This code is contributed by divyeshrabadiya07
Python3
# Python3 implementation to check that
# a integer is a power of two
import math
# Function to check if the number
# is a power of two
def isPowerOfTwo(n):
return(math.ceil(math.log(n) //
math.log(2)) ==
math.floor(math.log(n) //
math.log(2)));
# Driver code
if __name__=='__main__':
N = 8
if isPowerOfTwo(N):
print('Yes')
else:
print('No')
# This code is contributed by rutvik_56
C#
// C# implementation to check that
// a integer is a power of Two
using System;
class GFG{
// Function to check if the number
// is a power of two
public static bool isPowerOfTwo(int n)
{
return(Math.Ceiling(Math.Log(n) /
Math.Log(2)) ==
Math.Floor(Math.Log(n) /
Math.Log(2)));
}
// Driver Code
public static void Main(String[] args)
{
int N = 8;
if (isPowerOfTwo(N))
{
Console.WriteLine("Yes");
}
else
{
Console.WriteLine("No");
}
}
}
// This code is contributed by 29AjayKumar
Javascript
C++
// C++ implementation to find
// Kth root of the number
#include
using namespace std;
// Function to find the
// Kth root of the number
double kthRoot(double n, int k)
{
return pow(k,
(1.0 / k)
* (log(n)
/ log(k)));
}
// Driver Code
int main()
{
double N = 8.0;
int K = 3;
cout << kthRoot(N, K);
return 0;
}
Java
// Java implementation to find
// Kth root of the number
class GFG{
// Function to find the
// Kth root of the number
static double kthRoot(double n, int k)
{
return Math.pow(k, (1.0 / k) *
(Math.log(n) / Math.log(k)));
}
// Driver Code
public static void main(String[] args)
{
double N = 8.0;
int K = 3;
System.out.print(kthRoot(N, K));
}
}
// This code is contributed by shivanisinghss2110
Python3
# Python3 implementation to find
# Kth root of the number
import math
# Function to find the
# Kth root of the number
def kth_root(n, k):
return(pow(k, ((1.0 / k) * (math.log(n) /
math.log(k)))))
# Driver code
if __name__=="__main__":
n = 8.0
k = 3
print(round(kth_root(n, k)))
# This code is contributed by dipesh99kumar
C#
// C# implementation to find
// Kth root of the number
using System;
// Function to find the
// Kth root of the number
class GFG{
static double kthRoot(double n, int k)
{
return Math.Pow(k, (1.0 / k) *
(Math.Log(n) / Math.Log(k)));
}
// Driver Code
public static void Main()
{
double N = 8.0;
int K = 3;
Console.Write(kthRoot(N, K));
}
}
// This code is contributed by vikas_g
Javascript
C++
// C++ implementation count the
// number of digits in a number
#include
using namespace std;
// Function to count the
// number of digits in a number
int countDigit(long long n)
{
return floor(log10(n) + 1);
}
// Driver Code
int main()
{
double N = 80;
cout << countDigit(N);
return 0;
}
C
// C implementation count the
// number of digits in a number
#include
#include
// Function to count the
// number of digits in a number
int countDigit(long long n)
{
return (floor(log10(n) + 1));
}
// Driver Code
int main()
{
double N = 80;
printf("%d", countDigit(N));
return 0;
}
// This code is contributed by vikas_g
Java
// Java implementation to count the
// number of digits in a number
class GFG{
// Function to count the
// number of digits in a number
static int countDigit(double n)
{
return((int)Math.floor(Math.log10(n) + 1));
}
// Driver Code
public static void main(String[] args)
{
double N = 80;
System.out.println(countDigit(N));
}
}
// This code is contributed by vikas_g
Python3
# Python3 implementation count the
# number of digits in a number
import math
# Function to count the
# number of digits in a number
def countDigit(n):
return(math.floor(math.log10(n) + 1))
# Driver code
if __name__=="__main__":
n = 80
print(countDigit(n))
# This code is contributed by dipesh99kumar
C#
// C# implementation count the
// number of digits in a number
using System;
// Function to count the
// number of digits in a number
class GFG{
static int countDigit(double n)
{
return((int)Math.Floor(Math.Log10(n) + 1));
}
// Driver Code
public static void Main()
{
double N = 80;
Console.Write(countDigit(N));
}
}
// This code is contributed by vikas_g
C++
// C++ implementation to check if
// the number is power of K
#include
using namespace std;
// Function to check if
// the number is power of K
bool isPower(int N, int K)
{
// logarithm function to
// calculate value
int res1 = log(N) / log(K);
double res2 = log(N) / log(K);
// compare to the result1
// or result2 both are equal
return (res1 == res2);
}
// Driver Code
int main()
{
int N = 8;
int K = 2;
if (isPower(N, K)) {
cout << "Yes";
}
else {
cout << "No";
}
return 0;
}
C
// C implementation to check if
// the number is power of K
#include
#include
// Function to check if
// the number is power of K
_Bool isPower(int N, int K)
{
// Logarithm function to
// calculate value
int res1 = log(N) / log(K);
double res2 = log(N) / log(K);
// Compare to the result1
// or result2 both are equal
return (res1 == res2);
}
// Driver Code
int main()
{
int N = 8;
int K = 2;
if (isPower(N, K))
{
printf("Yes");
}
else
{
printf("No");
}
return 0;
}
// This code is contributed by vikas_g
Java
// Java implementation to check if
// the number is power of K
class GFG{
// Function to check if
// the number is power of K
static boolean isPower(int N, int K)
{
// Logarithm function to
// calculate value
int res1 = (int)(Math.log(N) / Math.log(K));
double res2 = Math.log(N) / Math.log(K);
// Compare to the result1
// or result2 both are equal
return (res1 == res2);
}
// Driver Code
public static void main(String[] args)
{
int N = 8;
int K = 2;
if (isPower(N, K))
{
System.out.println("Yes");
}
else
{
System.out.println("No");
}
}
}
// This code is contributed by vikas_g
Python3
# Python3 implementation to check if a
# number is a power of the other number
from math import log
# Function to check if
# the number is power of K
def isPower(n, k):
# Logarithm function to
# calculate value
res1 = int(log(n) / log(k))
res2 = log(n) / log(k)
# Compare to the result1
# or result2 both are equal
return(res1 == res2)
# Driver code
if __name__=="__main__":
n = 8
k = 2
if (isPower(n, k)):
print("Yes")
else:
print("No")
# This code is contributed by dipesh99kumar
C#
// C# implementation to check if
// the number is power of K
using System;
// Function to count the
// number of digits in a number
class GFG{
static bool isPower(int N, int K)
{
// Logarithm function to
// calculate value
int res1 = (int)(Math.Log(N) / Math.Log(K));
double res2 = Math.Log(N) / Math.Log(K);
// Compare to the result1
// or result2 both are equal
return (res1 == res2);
}
// Driver Code
public static void Main()
{
int N = 8;
int K = 2;
if (isPower(N, K))
{
Console.Write("Yes");
}
else
{
Console.Write("No");
}
}
}
// This code is contributed by vikas_g
C++
// C++ implementation to find the
// previous and next power of K
#include
using namespace std;
// Function to return the highest power
// of k less than or equal to n
int prevPowerofK(int n, int k)
{
int p = (int)(log(n) / log(k));
return (int)pow(k, p);
}
// Function to return the smallest power
// of k greater than or equal to n
int nextPowerOfK(int n, int k)
{
return prevPowerofK(n, k) * k;
}
// Driver Code
int main()
{
int N = 7;
int K = 2;
cout << prevPowerofK(N, K) << " ";
cout << nextPowerOfK(N, K) << endl;
return 0;
}
C
// C implementation to find the
// previous and next power of K
#include
#include
// Function to return the highest power
// of k less than or equal to n
int prevPowerofK(int n, int k)
{
int p = (int)(log(n) / log(k));
return (int)pow(k, p);
}
// Function to return the smallest power
// of k greater than or equal to n
int nextPowerOfK(int n, int k)
{
return prevPowerofK(n, k) * k;
}
// Driver Code
int main()
{
int N = 7;
int K = 2;
printf("%d ", prevPowerofK(N, K));
printf("%d\n", nextPowerOfK(N, K));
return 0;
}
// This code is contributed by vikas_g
Java
// Java implementation to find the
// previous and next power of K
class GFG{
// Function to return the highest power
// of k less than or equal to n
static int prevPowerofK(int n, int k)
{
int p = (int)(Math.log(n) / Math.log(k));
return (int)Math.pow(k, p);
}
// Function to return the smallest power
// of k greater than or equal to n
static int nextPowerOfK(int n, int k)
{
return prevPowerofK(n, k) * k;
}
// Driver Code
public static void main(String[] args)
{
int N = 7;
int K = 2;
System.out.print(prevPowerofK(N, K) + " ");
System.out.println(nextPowerOfK(N, K));
}
}
// This code is contributed by vikas_g
Python3
# Python3 implementation to find the
# previous and next power of K
from math import log
# Function to return the highest power
# of k less than or equal to n
def prevPowerofK(n, k):
p = (int)(log(n) / log(k));
return pow(k, p);
# Function to return the smallest power
# of k greater than or equal to n
def nextPowerOfK(n, k):
return prevPowerofK(n, k) * k;
# Driver Code
if __name__=="__main__":
N = 7
K = 2
print(prevPowerofK(N, K), end = " ")
print(nextPowerOfK(N, K))
# This code is contributed by dipesh99kumar
C#
// C# implementation to find the
// previous and next power of K
using System;
// Function to count the
// number of digits in a number
class GFG{
// Function to return the highest power
// of k less than or equal to n
static int prevPowerofK(int n, int k)
{
int p = (int)(Math.Log(n) / Math.Log(k));
return (int)Math.Pow(k, p);
}
// Function to return the smallest power
// of k greater than or equal to n
static int nextPowerOfK(int n, int k)
{
return prevPowerofK(n, k) * k;
}
// Driver Code
public static void Main()
{
int N = 7;
int K = 2;
Console.Write(prevPowerofK(N, K) + " ");
Console.Write(nextPowerOfK(N, K));
}
}
// This code is contributed by vikas_g
C++
// C++ implementation to find the
// rightmost set bit
#include
using namespace std;
// Function to find the rightmost
// bit set of the integer N
unsigned int getFirstSetBitPos(int n)
{
return log2(n & -n) + 1;
}
// Driver Code
int main()
{
int N = 8;
cout << getFirstSetBitPos(N);
return 0;
}
C
// C implementation to find the
// rightmost set bit
#include
#include
// Function to find the rightmost
// bit set of the integer N
unsigned int getFirstSetBitPos(int n)
{
return log2(n & -n) + 1;
}
// Driver Code
int main()
{
int N = 8;
printf("%d", getFirstSetBitPos(N));
return 0;
}
// This code is contributed by vikas_g
Java
// Java implementation to find the
// rightmost set bit
class GFG{
// Function to find the rightmost
// bit set of the integer N
static int getFirstSetBitPos(int n)
{
return (int)(Math.log(n & -n) /
Math.log(2)) + 1;
}
// Driver Code
public static void main(String[] args)
{
int N = 8;
System.out.println(getFirstSetBitPos(N));
}
}
// This code is contributed by vikas_g
Python3
# Python3 implementation to find the
# rightmost set bit
import math
# Function to find the rightmost
# bit set of the integer N
def getFirstSetBitPos(n):
return math.log2(n & -n) + 1;
# Driver Code
if __name__=="__main__":
N = 8
print(int(getFirstSetBitPos(N)))
# This code is contributed by dipesh99kumar
C#
// C# implementation to find the
// rightmost set bit
using System;
class GFG{
// Function to find the rightmost
// bit set of the integer N
static int getFirstSetBitPos(int n)
{
return (int)(Math.Log(n & -n) /
Math.Log(2)) + 1;
}
// Driver Code
public static void Main()
{
int N = 8;
Console.Write(getFirstSetBitPos(N));
}
}
// This code is contributed by vikas_g
Yes
数字的Kth根
给定两个整数N和K ,任务是找到数字N的第K个根。
例子:
Input: N = 8, K = 3
Output: 2
Input: N = 32, K = 5
Output: 2
方法:一种简单的解决方案是使用对数函数来找到数字的第K个根。下面是该方法的说明:
Let D be our answer
then,
Applying on both side
=>
=>
=>
下面是上述方法的实现:
C++
// C++ implementation to find
// Kth root of the number
#include
using namespace std;
// Function to find the
// Kth root of the number
double kthRoot(double n, int k)
{
return pow(k,
(1.0 / k)
* (log(n)
/ log(k)));
}
// Driver Code
int main()
{
double N = 8.0;
int K = 3;
cout << kthRoot(N, K);
return 0;
}
Java
// Java implementation to find
// Kth root of the number
class GFG{
// Function to find the
// Kth root of the number
static double kthRoot(double n, int k)
{
return Math.pow(k, (1.0 / k) *
(Math.log(n) / Math.log(k)));
}
// Driver Code
public static void main(String[] args)
{
double N = 8.0;
int K = 3;
System.out.print(kthRoot(N, K));
}
}
// This code is contributed by shivanisinghss2110
Python3
# Python3 implementation to find
# Kth root of the number
import math
# Function to find the
# Kth root of the number
def kth_root(n, k):
return(pow(k, ((1.0 / k) * (math.log(n) /
math.log(k)))))
# Driver code
if __name__=="__main__":
n = 8.0
k = 3
print(round(kth_root(n, k)))
# This code is contributed by dipesh99kumar
C#
// C# implementation to find
// Kth root of the number
using System;
// Function to find the
// Kth root of the number
class GFG{
static double kthRoot(double n, int k)
{
return Math.Pow(k, (1.0 / k) *
(Math.Log(n) / Math.Log(k)));
}
// Driver Code
public static void Main()
{
double N = 8.0;
int K = 3;
Console.Write(kthRoot(N, K));
}
}
// This code is contributed by vikas_g
Java脚本
2
计算数字中的数字:
给定整数N ,任务是对数字N中的数字进行计数。
例子:
Input: N = 243
Output: 3
Input: N = 1000
Output: 4
方法:想法是找到以10为底的对数以计算位数。
下面是上述方法的实现:
C++
// C++ implementation count the
// number of digits in a number
#include
using namespace std;
// Function to count the
// number of digits in a number
int countDigit(long long n)
{
return floor(log10(n) + 1);
}
// Driver Code
int main()
{
double N = 80;
cout << countDigit(N);
return 0;
}
C
// C implementation count the
// number of digits in a number
#include
#include
// Function to count the
// number of digits in a number
int countDigit(long long n)
{
return (floor(log10(n) + 1));
}
// Driver Code
int main()
{
double N = 80;
printf("%d", countDigit(N));
return 0;
}
// This code is contributed by vikas_g
Java
// Java implementation to count the
// number of digits in a number
class GFG{
// Function to count the
// number of digits in a number
static int countDigit(double n)
{
return((int)Math.floor(Math.log10(n) + 1));
}
// Driver Code
public static void main(String[] args)
{
double N = 80;
System.out.println(countDigit(N));
}
}
// This code is contributed by vikas_g
Python3
# Python3 implementation count the
# number of digits in a number
import math
# Function to count the
# number of digits in a number
def countDigit(n):
return(math.floor(math.log10(n) + 1))
# Driver code
if __name__=="__main__":
n = 80
print(countDigit(n))
# This code is contributed by dipesh99kumar
C#
// C# implementation count the
// number of digits in a number
using System;
// Function to count the
// number of digits in a number
class GFG{
static int countDigit(double n)
{
return((int)Math.Floor(Math.Log10(n) + 1));
}
// Driver Code
public static void Main()
{
double N = 80;
Console.Write(countDigit(N));
}
}
// This code is contributed by vikas_g
2
检查N是否为K的幂:
给定两个整数N和K ,任务是检查Y是否为X的幂。
例子:
Input: N = 8, K = 2
Output: Yes
Input: N = 27, K = 3
Output: Yes
方法:想法是取N为底的K的对数。如果结果是整数,则N为K的幂。
下面是上述方法的实现:
C++
// C++ implementation to check if
// the number is power of K
#include
using namespace std;
// Function to check if
// the number is power of K
bool isPower(int N, int K)
{
// logarithm function to
// calculate value
int res1 = log(N) / log(K);
double res2 = log(N) / log(K);
// compare to the result1
// or result2 both are equal
return (res1 == res2);
}
// Driver Code
int main()
{
int N = 8;
int K = 2;
if (isPower(N, K)) {
cout << "Yes";
}
else {
cout << "No";
}
return 0;
}
C
// C implementation to check if
// the number is power of K
#include
#include
// Function to check if
// the number is power of K
_Bool isPower(int N, int K)
{
// Logarithm function to
// calculate value
int res1 = log(N) / log(K);
double res2 = log(N) / log(K);
// Compare to the result1
// or result2 both are equal
return (res1 == res2);
}
// Driver Code
int main()
{
int N = 8;
int K = 2;
if (isPower(N, K))
{
printf("Yes");
}
else
{
printf("No");
}
return 0;
}
// This code is contributed by vikas_g
Java
// Java implementation to check if
// the number is power of K
class GFG{
// Function to check if
// the number is power of K
static boolean isPower(int N, int K)
{
// Logarithm function to
// calculate value
int res1 = (int)(Math.log(N) / Math.log(K));
double res2 = Math.log(N) / Math.log(K);
// Compare to the result1
// or result2 both are equal
return (res1 == res2);
}
// Driver Code
public static void main(String[] args)
{
int N = 8;
int K = 2;
if (isPower(N, K))
{
System.out.println("Yes");
}
else
{
System.out.println("No");
}
}
}
// This code is contributed by vikas_g
Python3
# Python3 implementation to check if a
# number is a power of the other number
from math import log
# Function to check if
# the number is power of K
def isPower(n, k):
# Logarithm function to
# calculate value
res1 = int(log(n) / log(k))
res2 = log(n) / log(k)
# Compare to the result1
# or result2 both are equal
return(res1 == res2)
# Driver code
if __name__=="__main__":
n = 8
k = 2
if (isPower(n, k)):
print("Yes")
else:
print("No")
# This code is contributed by dipesh99kumar
C#
// C# implementation to check if
// the number is power of K
using System;
// Function to count the
// number of digits in a number
class GFG{
static bool isPower(int N, int K)
{
// Logarithm function to
// calculate value
int res1 = (int)(Math.Log(N) / Math.Log(K));
double res2 = Math.Log(N) / Math.Log(K);
// Compare to the result1
// or result2 both are equal
return (res1 == res2);
}
// Driver Code
public static void Main()
{
int N = 8;
int K = 2;
if (isPower(N, K))
{
Console.Write("Yes");
}
else
{
Console.Write("No");
}
}
}
// This code is contributed by vikas_g
Yes
要找到大于等于N且小于N的K的幂,请执行以下操作:
给定两个整数N和K ,任务是找到K的大于等于N和小于N的幂。
例子:
Input: N = 7, K = 2
Output: 4 8
Input: N = 18, K = 3
Output: 9 27
方法:想法是找到给定整数N的log K值的下限值,然后计算该数字的K次方,以计算前K次方和后K次方。
下面是上述方法的实现:
C++
// C++ implementation to find the
// previous and next power of K
#include
using namespace std;
// Function to return the highest power
// of k less than or equal to n
int prevPowerofK(int n, int k)
{
int p = (int)(log(n) / log(k));
return (int)pow(k, p);
}
// Function to return the smallest power
// of k greater than or equal to n
int nextPowerOfK(int n, int k)
{
return prevPowerofK(n, k) * k;
}
// Driver Code
int main()
{
int N = 7;
int K = 2;
cout << prevPowerofK(N, K) << " ";
cout << nextPowerOfK(N, K) << endl;
return 0;
}
C
// C implementation to find the
// previous and next power of K
#include
#include
// Function to return the highest power
// of k less than or equal to n
int prevPowerofK(int n, int k)
{
int p = (int)(log(n) / log(k));
return (int)pow(k, p);
}
// Function to return the smallest power
// of k greater than or equal to n
int nextPowerOfK(int n, int k)
{
return prevPowerofK(n, k) * k;
}
// Driver Code
int main()
{
int N = 7;
int K = 2;
printf("%d ", prevPowerofK(N, K));
printf("%d\n", nextPowerOfK(N, K));
return 0;
}
// This code is contributed by vikas_g
Java
// Java implementation to find the
// previous and next power of K
class GFG{
// Function to return the highest power
// of k less than or equal to n
static int prevPowerofK(int n, int k)
{
int p = (int)(Math.log(n) / Math.log(k));
return (int)Math.pow(k, p);
}
// Function to return the smallest power
// of k greater than or equal to n
static int nextPowerOfK(int n, int k)
{
return prevPowerofK(n, k) * k;
}
// Driver Code
public static void main(String[] args)
{
int N = 7;
int K = 2;
System.out.print(prevPowerofK(N, K) + " ");
System.out.println(nextPowerOfK(N, K));
}
}
// This code is contributed by vikas_g
Python3
# Python3 implementation to find the
# previous and next power of K
from math import log
# Function to return the highest power
# of k less than or equal to n
def prevPowerofK(n, k):
p = (int)(log(n) / log(k));
return pow(k, p);
# Function to return the smallest power
# of k greater than or equal to n
def nextPowerOfK(n, k):
return prevPowerofK(n, k) * k;
# Driver Code
if __name__=="__main__":
N = 7
K = 2
print(prevPowerofK(N, K), end = " ")
print(nextPowerOfK(N, K))
# This code is contributed by dipesh99kumar
C#
// C# implementation to find the
// previous and next power of K
using System;
// Function to count the
// number of digits in a number
class GFG{
// Function to return the highest power
// of k less than or equal to n
static int prevPowerofK(int n, int k)
{
int p = (int)(Math.Log(n) / Math.Log(k));
return (int)Math.Pow(k, p);
}
// Function to return the smallest power
// of k greater than or equal to n
static int nextPowerOfK(int n, int k)
{
return prevPowerofK(n, k) * k;
}
// Driver Code
public static void Main()
{
int N = 7;
int K = 2;
Console.Write(prevPowerofK(N, K) + " ");
Console.Write(nextPowerOfK(N, K));
}
}
// This code is contributed by vikas_g
4 8
查找最右置位的位置:
给定整数N ,任务是找到最右置位的位置。
例子:
Input: N = 7
Output: 1
Input: N = 8
Output: 4
方法:
- 取给定数字的二进制补码,因为除第一个“ 1”从右到左外,所有位都被还原(0111)
- 按位进行,并使用原始编号,这将仅用所需的编号返回编号(0100)
- 取no的log2,您将得到(位置– 1)(2)
下面是上述方法的实现:
C++
// C++ implementation to find the
// rightmost set bit
#include
using namespace std;
// Function to find the rightmost
// bit set of the integer N
unsigned int getFirstSetBitPos(int n)
{
return log2(n & -n) + 1;
}
// Driver Code
int main()
{
int N = 8;
cout << getFirstSetBitPos(N);
return 0;
}
C
// C implementation to find the
// rightmost set bit
#include
#include
// Function to find the rightmost
// bit set of the integer N
unsigned int getFirstSetBitPos(int n)
{
return log2(n & -n) + 1;
}
// Driver Code
int main()
{
int N = 8;
printf("%d", getFirstSetBitPos(N));
return 0;
}
// This code is contributed by vikas_g
Java
// Java implementation to find the
// rightmost set bit
class GFG{
// Function to find the rightmost
// bit set of the integer N
static int getFirstSetBitPos(int n)
{
return (int)(Math.log(n & -n) /
Math.log(2)) + 1;
}
// Driver Code
public static void main(String[] args)
{
int N = 8;
System.out.println(getFirstSetBitPos(N));
}
}
// This code is contributed by vikas_g
Python3
# Python3 implementation to find the
# rightmost set bit
import math
# Function to find the rightmost
# bit set of the integer N
def getFirstSetBitPos(n):
return math.log2(n & -n) + 1;
# Driver Code
if __name__=="__main__":
N = 8
print(int(getFirstSetBitPos(N)))
# This code is contributed by dipesh99kumar
C#
// C# implementation to find the
// rightmost set bit
using System;
class GFG{
// Function to find the rightmost
// bit set of the integer N
static int getFirstSetBitPos(int n)
{
return (int)(Math.Log(n & -n) /
Math.Log(2)) + 1;
}
// Driver Code
public static void Main()
{
int N = 8;
Console.Write(getFirstSetBitPos(N));
}
}
// This code is contributed by vikas_g
4