复合数

复合数是一个正整数,而不是 首要的 换句话说,它有一个正除数,而不是一个或它本身。前几个复合数是4,6,8,9,10,12,14,15,16,18,20………

null
  • 每一个大于1的整数要么是素数,要么是复合数。
  • 第一是一个单位,它既不是素数也不是复合数。

如何检查给定的数字是否为复合数字? 例如:

Input : n = 21Output: YesThe number is a composite number!Input : n = 11Output : No

这个想法很简单,我们可以使用以下任何一种方法进行素数检查。我们只需要更改返回语句。Return true更改为Return false,反之亦然。

在下面的代码中,将讨论优化的学校方法。

C++

// A optimized school method based C++ program to check
// if a number is composite.
#include <bits/stdc++.h>
using namespace std;
bool isComposite( int n)
{
// Corner cases
if (n <= 1) return false ;
if (n <= 3) return false ;
// This is checked so that we can skip
// middle five numbers in below loop
if (n%2 == 0 || n%3 == 0) return true ;
for ( int i=5; i*i<=n; i=i+6)
if (n%i == 0 || n%(i+2) == 0)
return true ;
return false ;
}
// Driver Program to test above function
int main()
{
isComposite(11)?  cout << " true" : cout << " false" ;
isComposite(15)?  cout << " true" : cout << " false" ;
return 0;
}


JAVA

/// An optimized method based Java
// program to check if a number
// is Composite or not.
import java.io.*;
class Composite
{
static boolean isComposite( int n)
{
// Corner cases
if (n <= 1 )
System.out.println( "False" );
if (n <= 3 )
System.out.println( "False" );
// This is checked so that we can skip
// middle five numbers in below loop
if (n % 2 == 0 || n % 3 == 0 ) return true ;
for ( int i = 5 ; i * i <= n; i = i + 6 )
if (n % i == 0 || n % (i + 2 ) == 0 )
return true ;
return false ;
}
// Driver Program to test above function
public static void main(String args[])
{
System.out.println(isComposite( 11 ) ?
"true" : "false" );
System.out.println(isComposite( 15 ) ?
"true" : "false" );
}
}
// This code is contributed by Anshika Goyal


Python 3

# A optimized school method based Python program to check
# if a number is composite.
def isComposite(n):
# Corner cases
if (n < = 1 ):
return False
if (n < = 3 ):
return False
# This is checked so that we can skip
# middle five numbers in below loop
if (n % 2 = = 0 or n % 3 = = 0 ):
return True
i = 5
while (i * i < = n):
if (n % i = = 0 or n % (i + 2 ) = = 0 ):
return True
i = i + 6
return False
# Driver Program to test above function
print ( "true" ) if (isComposite( 11 )) else print ( "false" )
print ( "true" ) if (isComposite( 15 )) else print ( "false" )
# This code is contributed by Anant Agarwal.


C#

// A optimized school method based C# program
// to check if a number is composite.
using System;
namespace Composite
{
public class GFG
{
public static bool isComposite( int n)
{
// Corner cases
if (n <= 1) return false ;
if (n <= 3) return false ;
// This is checked so that we can skip
// middle five numbers in below loop
if (n % 2 == 0 || n % 3 == 0) return true ;
for ( int i = 5; i * i <= n; i = i + 6)
if (n % i == 0 || n % (i + 2) == 0)
return true ;
return false ;
}
// Driver Code
public static void Main()
{
if (isComposite(11)) Console.WriteLine( "true" );
else Console.WriteLine( "false" );
if (isComposite(15)) Console.WriteLine( "true" );
else Console.WriteLine( "false" );
}
}
}
// This code is contributed by Sam007


PHP

<?php
// A optimized school
// method based PHP
// program to check
// if a number is composite.
function isComposite( $n )
{
// Corner cases
if ( $n <= 1)
return false;
if ( $n <= 3)
return false;
// This is checked so
// that we can skip
// middle five numbers
// in below loop
if ( $n %2 == 0 || $n % 3 == 0)
return true;
for ( $i = 5; $i * $i <= $n ;
$i = $i + 6)
if ( $n % $i == 0 || $n % ( $i + 2) == 0)
return true;
return false;
}
// Driver Code
if (isComposite(11))
echo "true" ;
else
echo "false" ;
echo "" ;
if (isComposite(15))
echo "true" ;
else
echo "false" ;
echo "" ;
// This code is contributed by Ajit.
?>


Javascript

<script>
// A optimized school method based Javascript program to check
// if a number is composite.
function isComposite(n)
{
// Corner cases
if (n <= 1) return false ;
if (n <= 3) return false ;
// This is checked so that we can skip
// middle five numbers in below loop
if (n%2 == 0 || n%3 == 0) return true ;
for (let i=5; i*i<=n; i=i+6)
if (n%i == 0 || n%(i+2) == 0)
return true ;
return false ;
}
// Driver Program to test above function
isComposite(11)? document.write( " true" + "<br>" ): document.write( " false" + "<br>" );
isComposite(15)? document.write( " true" + "<br>" ): document.write( " false" + "<br>" );
// This code is contributed by Mayank Tyagi
</script>


输出:

falsetrue

复合数程序

参考: https://en.wikipedia.org/wiki/Composite_number 本文由 阿杰普里 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 写极客。组织 或者把你的文章寄去评论-team@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。 如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享