Sn*= sum of integers dividable by 11, write a script program that inputs a large positive integer M, computes the smallest integer n∗such that Sn∗> M, then displays n∗and Sn∗.

조회 수: 2 (최근 30일)
I am honestly so lost with this question, because 1) the wording is awful and 2) I just don't get while loops. The full question is "Let Sn be the sum of integers that are between 1 and n and are dividable by 11. Write a script program that inputs a large positive integer M, computes the smallest integer nsuch that Sn> M, then displays nand Sn." I have this so far.
%Small integer
M=input('Enter number M:');
n=1;
rem(n,11)=0;
while Sn<=M
if rem(n,11)==0
end
n=n+1;
Sn=n;
end
Sns=Sn;
ns=n;
fprintf('ns=%f\n', ns)
fprintf('Sns=%f\n', Sns)
I just don't know what else to put

답변 (1개)

Dyuman Joshi
Dyuman Joshi 2022년 9월 22일
편집: Dyuman Joshi 2022년 9월 22일
You have done quite well despite your limited understanding of the question. Your code requires only a few modifications -
%M=input('Enter number M:');
%random large positive integer
M=123456;
%initiating the sum as 0
Sn=0;
n=1;
while Sn<=M
if rem(n,11)==0
Sn=Sn+n;
end
n=n+1;
end
fprintf('n=%d\n', n)
n=1651
fprintf('Sn=%d\n', Sn)
Sn=124575
We can verify this as well
y=11.*(1:n/11);
sum(y)
ans = 124575
  댓글 수: 6
Jason
Jason 2022년 9월 22일
I don't, sorry. I googled it and it said something about having a variable in the code being displayed but not computed, or something like that.
Torsten
Torsten 2022년 9월 22일
편집: Torsten 2022년 9월 22일
rem is treated as an array in your code, not as a function. Thus somewhere you must have created an array called "rem".
E.g. the line
rem(n,11)=0;
(which makes no sense) would do this.
If you just had copied @Dyuman Joshi 's code, you had no problems.

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

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

태그

제품


릴리스

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by