tôi có chương trình đơn giản này:main() không thực hiện, nhưng biên soạn
// 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;
}
biên soạn với g++ -O2 -c -o prob3.o prob3.cpp
chứng minh thành công, nhưng khi tôi chạy nó tôi thấy không có gì và nó chỉ tiếp tục chạy và tôi đã phải Ctrl-C (ép buộc) cuối cùng. Khi tôi cố gắng thêm
int main(int argc, const char* argv[])
{
cout << "Test\n";
vào chương trình, Test
cũng không được in. Nó giống như chương trình của tôi không được thực hiện ở tất cả.
Bất kỳ trợ giúp hoặc lời khuyên nào được đánh giá cao!
Giải pháp
Tôi quên số nguyên tố bắt đầu lúc 2. Thay đổi for (int i = 1
để for (int i = 2
.
Bạn có thấy nó đang chạy trong trình quản lý tác vụ/ps không? – amit
Lệnh biên dịch của bạn sẽ không tạo ra tệp thực thi, chỉ là tệp đối tượng. Bạn có một bước liên kết không? –
Hãy thử 'cout <<" Test "<< endl;' 'endl' xóa luồng, một lần (nghĩa là hiếm) là một việc tốt để làm. –