C 语言查找数字的素数因子的程序

如何使用 For 循环、While 循环和函数编写 C 语言查找数字素数因子的程序。

C 语言使用 For 循环查找数字素数因子的程序

此程序允许用户输入任何整数值。接下来,此程序使用 For 循环查找数字的素数因子。

在我们之前的文章中,我们已经解释了如何编写一个查找数字因子的程序和查找素数

/* C Program to Find Prime Factors of a Number using For Loop */
 
#include <stdio.h>
 
int main()
{
  	int i, j, Number, isPrime; 
   
  	printf("\n Please Enter any number to Find Factors :  ");
  	scanf("%d", &Number);
 
  	for (i = 2; i <= Number; i++)
   	{
     	if(Number % i == 0)
        {
   			isPrime = 1;
			for (j = 2; j <= i/2; j++)
			{
				if(i % j == 0)
				{
					isPrime = 0;
					break;
				}
			} 
			if(isPrime == 1)
			{
				printf("\n %d is a Prime Factor ", i);
			}	          	
		}
   }
  	return 0;
}
C Program to Find Prime Factors of a Number 1

C 语言使用 While 循环计算数字素数因子的程序

C 程序允许用户输入任何整数值。使用此值,此程序将使用 While 循环查找数字的素数因子。

/* C Program to Find Prime factors of a Number using While Loop */
 
#include <stdio.h>
 
int main()
{
  	int Number, i = 1, j, Count; 
 
  	printf("\n Please Enter number to Find Factors  :  ");
  	scanf("%d", &Number);
 
 	while (i <= Number)
   	{
   		Count = 0;
    	if(Number % i == 0)
      	{
      		j = 1;
      		while(j <= i)
      		{
      			if(i % j == 0)
      			{
      				Count++;
				}
				j++;
			}
			if(Count == 2)
			{
				printf("\n %d ", i);
			} 
      	}
    	i++;
   	}
 
  	return 0;
}

我们将上面查找数字素数因子的程序中的 For 循环替换为了 While 循环。如果您不理解WHILE LOOP

 Please Enter number to Find Factors  :  2550

 2
 3  
 5  
 17 

C 语言使用函数计算数字素数因子的程序

此程序允许用户输入任何整数值。用户输入的将传递给我们创建的函数。find_factors 函数将查找数字的因子,Find_Prime 将检查因子是否为素数

#include <stdio.h>

void FndPrm(int Number)
{ 
  	int i, Count = 0; 
  
  	for (i = 2; i <= Number/2; i++)
   	{
    	if(Number%i == 0)
     	{
       		Count++;
     	} 
   	}
   	if(Count == 0 && Number != 1 )
   	{
   		printf("\n %d", Number);
   	}
}
void FndFac(int Number)
{ 
  	int i; 
  
  	for (i = 1; i <= Number; i++)
   	{
    	if(Number % i == 0)
     	{
     		// Calling FndPrm Function for every factor
       		FndPrm(i);
     	} 
   	}
}
int main()
{
  	int i, j, Number, count; 
   
  	printf("\n Please Enter any number to Find :  ");
  	scanf("%d", &Number);
 
  	printf("\n Prime Factors of a Given Number are : \n");
	FndFac(Number);

  	return 0;
}
 Please Enter any number to Find :  10750

 Prime Factors of a Given Number are : 

 2 
 5 
 43