Project Euler Problem 3

2 ビュー (過去 30 日間)
Shahrear Khan Faisal
Shahrear Khan Faisal 2020 年 10 月 21 日
回答済み: Manvi Goel 2020 年 10 月 28 日
I'm trying to solve the Project Euler problem of largest prime factor in MATLAB cody. My code gives the correct answer but cody says the solution is wrong. Could anyone please point out the mistake in my code?
The problem description is -
The prime factors of 13195 are 5, 7, 13 and 29.
What is the largest prime factor of the number being input, input might be uint64 for large numbers, out must be double precision?
function y = euler003(x)
a = [];
for i = 1:x
if rem(x,i) == 0
a = [a i];
end
end
p = [];
for i = 1:length(a)
if isprime(a(i))
p = [p a(i)];
end
end
y = max(p);
end

回答 (1 件)

Manvi Goel
Manvi Goel 2020 年 10 月 28 日
The issue with MATLAB Cody not accepting your submission could be with the time complexity of your code. The sample test cases attached are big numbers and your code might not run for them.
You can refer to this link https://www.geeksforgeeks.org/find-largest-prime-factor-number/ for an optimised approach for finding the prime factors.

カテゴリ

Help Center および File ExchangeNumber Theory についてさらに検索

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by