필터 지우기
필터 지우기

Hi; What is wrong in my code

조회 수: 2 (최근 30일)
SULE SAHIN
SULE SAHIN 2017년 10월 30일
댓글: Walter Roberson 2018년 4월 27일
If we list all the natural numbers up to 15 that are multiples of 3 or 5, we get 3, 5, 6, 9, 10, 12 and 15. The sum of these multiples is 60. Write a function called sum3and5muls that returns the sum of all the unique multiples of 3 or 5 up to n where n is a positive integer and the only input argument of the function. (Credit: Project Euler)
My answer is;
function sumof = sum3and5muls(n)
sumof = sum([3:3:n])+sum([5:5:n])-sum([15:15:n]);
Fault; Problem 8 (sum3and5muls): Testing with argument(s) 1 Feedback: Your program made an error for argument(s) 1
Your solution is _not_ correct.
What is wrong in my code?
  댓글 수: 4
Stephen23
Stephen23 2017년 10월 30일
@SULE SAHIN: you do not need to use square brackets, because you are not concatenating anything. Instead of this sum([3:3:n]) you simply need this sum(3:3:n).
Walter Roberson
Walter Roberson 2018년 4월 27일
Please do not close questions that have an answer.

댓글을 달려면 로그인하십시오.

답변 (1개)

Jan
Jan 2017년 10월 30일
편집: Jan 2017년 10월 30일
The error message tells you, that the output for n=1 differs from the expectations. Look what your code does in this case. What is 3:3:n then? What is its sum?
What happens for n=3?
3:3:n
5:5:n
15:15:n
What might be the result of:
3 + [] - []
???
Note: 3:3:n is a vector already. There is no need fro additional square brackets, see http://www.mathworks.com/matlabcentral/answers/35676-why-not-use-square-brackets

카테고리

Help CenterFile Exchange에서 Programming에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by