可能的重复:
替代 itoa() 将整数转换为字符串 C++?
你如何在c++中将整数更改为字符串?
我的代码适用于最多300或20的数字.但它不适用于2000000.我尝试使用long,但它仍然无效.
#include <iostream>
bool prime(int i) {
bool result = true;
int isitprime = i;
for (int j = 2; j < isitprime; j++) { ///prime number tester
if (isitprime % j == 0) {
result = false;
break;
}
}
return result;
}
int main(void) {
using namespace std;
long sum = 0;
for (long i = 2; i <= 2000000; i++) {
if (prime(i)) {
sum += i;
}
}
cout << sum << endl;
system("pause");
return 0; …Run Code Online (Sandbox Code Playgroud) 我认为我的代码有效.但是,它输出01111E5或17B879DD,或类似的东西.
有人可以告诉我为什么.
我知道我设置了P的限制而不是10,001.我的代码是这样的,因为我从3开始,跳过素数2.
#include <iostream>
bool prime (int i)
{
bool result = true;
int isitprime = i;
for(int j = 2; j < isitprime; j++) ///prime number tester
{
if(isitprime%j == 0) result = false;
}
return result;
}
int main (void)
{
using namespace std;
int PrimeNumbers = 1;
int x = 0;
for (int i = 3 ; PrimeNumbers <=10000; i++)
{
if(prime(i))
{
int prime = i;
PrimeNumbers +=1;
}
}
cout<<prime<<endl;
system ("pause");
return 0; …Run Code Online (Sandbox Code Playgroud)