📜  查找库伦编号的程序

📅  最后修改于: 2021-04-24 17:19:05             🧑  作者: Mango

库伦数是形式为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

卡伦数的性质:

  1. 大多数库伦数字是复合数字。
  2. 如果p是8k – 3形式的质数,则第n个库伦数可被p = 2n – 1整除。