库伦数是形式为2 n * n +1的数字,其中n是整数。前几个库伦数是1,3,9,25,65,161,385,897,2049,4609。 。 。 。 。 。
例子:
Input : n = 4
Output :65
Input : n = 0
Output : 1
Input : n = 6
Output : 161
下面是公式的实现。我们使用按位左移运算符找到2 n ,然后将结果与n相乘,最后返回(1 << n)* n + 1。
C++
// C++ program to find Cullen number
#include
using namespace std;
// function to find n'th cullen number
unsigned findCullen(unsigned n)
{
return (1 << n) * n + 1;
}
// Driver code
int main()
{
int n = 2;
cout << findCullen(n);
return 0;
}
Java
// Java program to find Cullen number
import java.io.*;
class GFG {
// function to find n'th cullen number
static int findCullen(int n)
{
return (1 << n) * n + 1;
}
// Driver code
public static void main(String[] args)
{
int n = 2;
System.out.println(findCullen(n));
}
}
// This code is contributed by vt_m.
Python3
# Python program to
# find Cullen number
# Function to calculate
# Cullen number
def findCullen(n):
# Formula to calculate
# nth Cullen number
return (1 << n) * n + 1
# Driver Code
n = 2
print(findCullen(n))
# This code is contributed
# by aj_36
C#
// C# program to find Cullen number
using System;
class GFG {
// function to find n'th cullen number
static int findCullen(int n)
{
return (1 << n) * n + 1;
}
// Driver code
public static void Main()
{
int n = 2;
Console.WriteLine(findCullen(n));
}
}
// This code is contributed by vt_m.
PHP
Javascript
输出:
9
卡伦数的性质:
- 大多数库伦数字是复合数字。
- 如果p是8k – 3形式的质数,则第n个库伦数可被p = 2n – 1整除。