см. Код, вопрос после.
#include <iostream>
#include <cstdio>
bool prime(unsigned long long num);
int main(){
unsigned long long temp;
unsigned long long max = 600851475143;
FILE * fptr;
try{
fptr = fopen("primes.txt","w");
#pragma omp parallel for
for(unsigned long long i = 2; i<max;i++){
if(prime(i)){
temp = i;
fputs(i + ",",fptr);
//int percent = (int)((float)i)/((float)max);
//if(percent > 1 && (percent % 10 == 0)){
// std::cout << "Percent Complete: " << percent << std::endl;
//}
}
}
std::cout << temp << std::endl;
fclose(fptr);
}catch(...){
std::cout << "Exception!" << std::endl;
}
return 0;
}
bool prime(unsigned long long num){
for(unsigned long long i = 2;i<num;i++){
if(num%i == 0)
return false;
}
return true;
}
@ gw runtime fail:
сбой во время выполнения:
ошибка времени:
я провал:
ailure:
:
Ошибка tualQuery для% d байтов по адресу% pQuery, ошибка для% d байтов по адресу% pery
для% d байтов по адресу% pfaililed для% d байтов по адресу% p для% d байтов по адресу% pd
байты по адресу% pbytes по адресу% pat address% pddress% press% ppnown псевдоперемещение
версия протокола% d.
версия протокола перемещения udo% d.
версия протокола перемещения% d.
версия протокола местоположения% d.
версия протокола% d.
в версии протокола% d.
версия протокола% d.
n% d.
,
Неизвестный размер псевдоперемещающего бита% d.
неизвестный размер бита псевдоперемещений% d.
Размер бита перемещения udo% d.
o размер бита перемещения% d.
размер катионного бита% d.
размер бита% d.
Почему происходит сбой во время выполнения? Я предполагаю, что это как-то связано с unsigned long long, но я понятия не имею. Также пробовал без директивы omp и все той же проблемы.