Я иду через проект эйлеров уровня 03. Вот мой код, и я до сих пор не понимаю, почему он не работает. Это проблема математики? Существует компиляция, но результат является ложным. Есть все число факторов, и не только простые числа. Может ли кто-нибудь взглянуть на него? Благодаря BRC++ - Euler Project - Level 03
#include <iostream>
#include <string>
#include <vector>
#include <cmath>
#include <cstdint>
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void facteursden(std::vector<uint64_t>& facteursden, uint64_t number)
{
uint64_t i = 2;
for (i = 1; i <= number; ++i) {
if (number % i == 0) {
facteursden.push_back(i);
}
}
}
//////////////////////////////////////////////
uint64_t factprem(uint64_t n)
{
uint64_t i = 1;
for (i = 1; i*i < n; ++i) {
if (n % i != 0)
return 1; }
return 0;
}
///////////////////////////////////////////////////////////////////////////
int main()
{
std::vector<uint64_t> monTableau1;
facteursden(monTableau1, 49);
uint64_t i = 0;
for (i = 0; i < (uint64_t)monTableau1.size(); ++i) {
if (factprem(monTableau1[i]) == 1) {
std::cout << monTableau1[i] << std::endl; }}
return 0 ;
}
Вы даже не говорите, какую проблему должен решить ваш код. Я имею в виду, о чем этот уровень 3 Эйлера? Кроме того, что в этом плохого? Вы получаете какие-либо ошибки? Какие? Пожалуйста, включите их в вопрос. – ForceBru
Извините, вот проблема эйлера: «Первичные коэффициенты 13195 - это 5, 7, 13 и 29. Что такое наибольший простой коэффициент числа 600851475143?» Моя проблема на самом деле, у меня есть все факторы, мой код не выбирает простые числа. – nolw38
Project Euler предназначен для обучения. Это действительно не помогает принимать решения повсеместно. Вы все еще можете задать конкретный вопрос о том, что вы застряли. – stefaanv