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∗.
Show older comments
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 n∗such that Sn∗> M, then displays n∗and 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
Answers (1)
Dyuman Joshi
on 22 Sep 2022
Edited: Dyuman Joshi
on 22 Sep 2022
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)
fprintf('Sn=%d\n', Sn)
We can verify this as well
y=11.*(1:n/11);
sum(y)
6 Comments
Jason
on 22 Sep 2022
Steven Lord
on 22 Sep 2022
What's the full and exact text of the error message? Can you show us all the text displayed in red in the Command Window when the error occurs?
Jason
on 22 Sep 2022
Torsten
on 22 Sep 2022
Do you have a function called rem.m in your working directory ? Then rename it.
Jason
on 22 Sep 2022
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.
Categories
Find more on Function Creation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!