code.club

 找回密碼
 立即註冊
搜索
查看: 7463|回復: 1
打印 上一主題 下一主題

質數判定之程式

[複製鏈接]
跳轉到指定樓層
樓主
發表於 2015-1-15 20:46:34 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最後由 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;
}
回復

使用道具 舉報

沙發
 樓主| 發表於 2015-2-6 17:05:28 | 只看該作者
#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);
}

return 0;
}
回復 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

小黑屋|手機版|Archiver|code.club  

GMT+8, 2024-11-23 17:32 , Processed in 0.080772 second(s), 16 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表