標題: 質數判定之程式 [打印本頁] 作者: enter 時間: 2015-1-15 20:46 標題: 質數判定之程式 本帖最後由 enter 於 2015-1-15 21:42 編輯
#include <stdio.h>
int main(void)
{
int x,i,factor;;
printf("enter a number:\n");
scanf("%d",&x);
factor=0;
for(i=2;i<=x/2;i++) //這裡如果只設成i<x/2,那麼假設x=38,i<(38/2)是為18,則後面i++變成19時,就不能再進入運算迴圈。i++是指第二條件符合之後才運算的。
if(!(x%i))
{
printf("%d is a factor of %d.\n",i,x);
factor++;
}
if(factor==0) printf("%d is a prime.\n",x);
printf("There are %d factors for %d.\n",factor,x);
return 0;
}作者: enter 時間: 2015-2-6 17:05
#include <stdio.h>
int main(void)
{
int x,is_prime,i;
printf("Please enter a number:\n");
scanf("%d",&x);
is_prime=1;
for(i=2;i<=x/2;i++)
if(!(x%i)) is_prime=0;
if(is_prime==1) printf("%d is a prime.\n",x);
else
{
printf("%d is not a prime.\n",x);
for(i=2;i<=x/2;i++)
if(!(x%i)) printf("%d is a factor for %d.\n",i,x);
}