[問題] 新手寫的判斷質數程式
剛自學不到一個禮拜,想了很久才寫出這個習題,
自己測試大致上是 OK,不過還是想請教大家幾個問題。
程式如下:
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
int x,y;
printf("質數判別小程式\n\n");
printf("請輸入一個正整數:");
scanf("%d",&x);
if(x==1)
{
cout<<"1 不是質數"<<endl;
}
if(x==2)
{
cout<<"2 是質數"<<endl;
}
for(y=2;y<x;y++)
{
if(x%y==0)
{
cout<<x<<"非質數"<<endl;
break;
}
if(x%y!=0&&(y+1)==x)
cout<<x<<"乃質數"<<endl;
}
system("pause");
}
想請問大家這樣寫 OK 嗎? (有沒有甚麼地方多餘或是有邏輯盲點的?)
自己測試好像OK,不過輸入的數字太大就不會判斷是否質數了,why,@@?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.229.246.181
→
04/10 00:04, , 1F
04/10 00:04, 1F
→
04/10 00:05, , 2F
04/10 00:05, 2F
→
04/10 00:06, , 3F
04/10 00:06, 3F
→
04/10 00:06, , 4F
04/10 00:06, 4F
→
04/10 00:08, , 5F
04/10 00:08, 5F
→
04/10 00:10, , 6F
04/10 00:10, 6F
→
04/10 00:10, , 7F
04/10 00:10, 7F
→
04/10 00:10, , 8F
04/10 00:10, 8F
→
04/10 00:11, , 9F
04/10 00:11, 9F
→
04/10 00:12, , 10F
04/10 00:12, 10F
→
04/10 00:12, , 11F
04/10 00:12, 11F
→
04/10 00:19, , 12F
04/10 00:19, 12F
→
04/10 00:20, , 13F
04/10 00:20, 13F
推
04/10 00:21, , 14F
04/10 00:21, 14F
→
04/10 00:24, , 15F
04/10 00:24, 15F
→
04/10 00:28, , 16F
04/10 00:28, 16F
→
04/10 00:29, , 17F
04/10 00:29, 17F
→
04/10 00:34, , 18F
04/10 00:34, 18F
→
04/10 00:35, , 19F
04/10 00:35, 19F
→
04/10 00:46, , 20F
04/10 00:46, 20F
→
04/10 00:46, , 21F
04/10 00:46, 21F
→
04/10 00:46, , 22F
04/10 00:46, 22F
→
04/10 00:54, , 23F
04/10 00:54, 23F
→
04/10 00:57, , 24F
04/10 00:57, 24F
→
04/10 01:05, , 25F
04/10 01:05, 25F
→
04/10 01:09, , 26F
04/10 01:09, 26F
→
04/10 01:10, , 27F
04/10 01:10, 27F
→
04/10 01:41, , 28F
04/10 01:41, 28F
→
04/10 01:41, , 29F
04/10 01:41, 29F
推
04/10 02:01, , 30F
04/10 02:01, 30F
→
04/10 02:02, , 31F
04/10 02:02, 31F
→
04/10 02:04, , 32F
04/10 02:04, 32F
→
04/10 02:04, , 33F
04/10 02:04, 33F
討論串 (同標題文章)