File tree Expand file tree Collapse file tree 2 files changed +3
-6
lines changed
lib/exercises/src/hackerrank/projecteuler
tests/unit/lib/hackerrank/projecteuler Expand file tree Collapse file tree 2 files changed +3
-6
lines changed Original file line number Diff line number Diff line change 1010namespace hackerrank ::projecteuler {
1111
1212long long prime_factor (long long n) {
13-
1413 if (n < 2 ) {
1514 throw std::invalid_argument (" n must be greater than 2" );
1615 }
@@ -19,9 +18,9 @@ long long prime_factor(long long n) {
1918 long long max_prime_factor;
2019 bool mpf_initialized = false ;
2120
22- long long i = 2 ;
21+ long i = 2 ;
2322
24- while (i <= static_cast < long long >( sqrt (divisor) )) {
23+ while (static_cast < double >(i) <= sqrt (divisor)) {
2524 if (0 == divisor % i) {
2625 divisor = divisor / i;
2726 max_prime_factor = divisor;
Original file line number Diff line number Diff line change @@ -22,14 +22,12 @@ TEST_CASE("euler003 JSON Test Cases",
2222 json data = json::parse (f);
2323
2424 for (auto testcase : data) {
25- int result = hackerrank::projecteuler::euler003 (testcase[" n" ]);
25+ long long result = hackerrank::projecteuler::euler003 (testcase[" n" ]);
2626 CHECK (result == testcase[" expected" ]);
2727 }
2828}
2929
3030TEST_CASE (" euler003 Edge Cases" , " [hackerrank] [projecteuler]" ) {
31-
3231 CHECK_THROWS_AS (hackerrank::projecteuler::euler003 (0 ), std::invalid_argument);
33-
3432 CHECK_THROWS_AS (hackerrank::projecteuler::euler003 (1 ), std::invalid_argument);
3533}
You can’t perform that action at this time.
0 commit comments