我有這個簡單的程序:的main()不執行,但在編譯
// Include libraries
#include <iostream>
#include <string>
#include <vector>
using namespace std;
// Include locals
// Start
#define NUMBER 600851475143
int main(int argc, const char* argv[])
{
long long int ans = 0;
long long int num = NUMBER;
vector<int> factors;
do
{
// Get lowest factor
for (int i = 1; i <= num; ++i)
{
if (!(num % i))
{
factors.push_back(i);
num /= i;
break;
}
}
} while (num > 1);
cout << "Calculated to 1.\n";
int highestFactor = numeric_limits<int>::min();
for (int i = 0; i < factors.size(); ++i)
{
if (factors[i] > highestFactor)
{
highestFactor = factors[i];
}
}
ans = highestFactor;
cout << ans << endl;
return EXIT_SUCCESS;
}
與g++ -O2 -c -o prob3.o prob3.cpp
編譯證明是成功的,但是當我遇到它,我什麼也沒看到,它只是不停地奔跑,我不得不按Ctrl-C (強行殺死)它到底。當我嘗試
int main(int argc, const char* argv[])
{
cout << "Test\n";
添加到程序,Test
沒有得到印刷了。這就像我的程序根本沒有執行。
任何幫助或建議表示讚賞!
解決方案
我忘了素數開始在2.切換到for (int i = 1
for (int i = 2
。
你看到它在你的任務管理器/ ps中運行嗎? – amit
您的編譯命令不會生成可執行文件,只是一個目標文件。你有鏈接步驟嗎? –
嘗試'cout <<「Test」<< endl;'endl'刷新流,一次(即很少見)是一件好事。 –