给定整数N,其中 。任务是打印带有N个切口的圆的计数,其中每个切口都通过给定圆的中心。
例子:
Input : N = 2
Output : 4
Input : N = 100
Output : 200
方法:仅通过观察即可轻松解决此问题。由于每个切口都经过中心,因此每个切口都会产生两个新片段。
让我们看看上面直觉是如何工作的。
- 初切时,我们有2个不同的圆。
- 在第二次切割时,我们从先前的2个圆中又得到2个不同的圆。
- 在第三次切割时,我们又从彼此相反的前2个工件中又选出2个新的不同工件。
这样,我们进行了N次切割,以得到N次切割后的总件数。
下面是上述方法的实现:
C++
// C++ program to find number of pieces
// of circle after N cuts
#include
using namespace std;
// Function to find number of pieces
// of circle after N cuts
int countPieces(int N)
{
return 2 * N;
}
// Driver program
int main()
{
int N = 100;
cout << countPieces(N);
return 0;
}
Java
// Java program to find number of pieces
// of circle after N cuts
import java.util.*;
class solution
{
// Function to find number of pieces
// of circle after N cuts
static int countPieces(int N)
{
return 2 * N;
}
// Driver program
public static void main(String args[])
{
int N = 100;
System.out.println(countPieces(N));
}
}
Python3
# Python program to find number
# of pieces of circle after N cuts
# Function to find number of
# pieces of circle after N cuts
def countPieces(N):
return 2 * N
# Driver Code
N = 100
print(countPieces(N))
# This code is contributed by
# Sanjit_Prasad
C#
// C# program to find number of pieces
// of circle after N cuts
class solution
{
// Function to find number of pieces
// of circle after N cuts
static int countPieces(int N)
{
return 2 * N;
}
// Driver program
static void Main()
{
int N = 100;
System.Console.WriteLine(countPieces(N));
}
}
// This code is contributed by mits
PHP
Javascript
输出:
200
时间复杂度: O(1)