[問題] 新手again為什麼運算到太大就失敗,我有用unsigned int了= =
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 )
( 未必需要依照此格式,文章條理清楚即可 )
遇到的問題: (題意請描述清楚)
比較小的數ok,大一點printf出來就不正確
希望得到的正確結果:
程式跑出來的錯誤結果:
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
Microsoft Visual C++ 2008 Express
有問題的code: (請善用置底文標色功能)
#include "stdafx.h"
#include "stdlib.h"
int _tmain(int argc, _TCHAR* argv[])
{
unsigned int primenumber = 1;
unsigned int test = 2;
unsigned int number = 2;
while(number != 0)
{
while(number % test != 0&&number >= test)
test = test + 1;
if(test == number)
{
primenumber = primenumber * number;
printf("質數連乘積到%u ", number);
printf("新的質數對為:%u %u\n",primenumber-1,primenumber+1);
}
test = 2;
number = number + 1;
}
system("pause");
return 0;
}
補充說明:
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.117.40.80
→
03/05 19:39, , 1F
03/05 19:39, 1F
→
03/05 19:51, , 2F
03/05 19:51, 2F
→
03/05 19:52, , 3F
03/05 19:52, 3F
推
03/05 20:02, , 4F
03/05 20:02, 4F
→
03/05 20:06, , 5F
03/05 20:06, 5F
→
03/05 20:06, , 6F
03/05 20:06, 6F
推
03/05 21:58, , 7F
03/05 21:58, 7F
推
03/05 22:17, , 8F
03/05 22:17, 8F
推
03/05 22:18, , 9F
03/05 22:18, 9F
推
03/05 23:12, , 10F
03/05 23:12, 10F
→
03/05 23:13, , 11F
03/05 23:13, 11F
推
03/06 22:55, , 12F
03/06 22:55, 12F
→
03/07 04:33, , 13F
03/07 04:33, 13F