- accept their answer.
- acknowledge that you did not write it.
I need help displaying the max value in my while loop.
5 次查看(过去 30 天)
显示 更早的评论
So I have wrote this code for a while loop/string:
str=input('Enter an integer greater than 1:','s');
num=str2double(str);
cnt=0;
while num>1
cnt=cnt+1;
if mod(num,2)
num=num*3+1;
else
num=num/2;
end
end
s=cnt
It takes any given integer, multiplies it by 3 then adds 1 if it is odd. It divides the number by 2 when it is even. Also "s" represents the number of steps it takes for the loop to reach the end, which is when it reaches '1'. What I am having trouble with is figuring out how to display the max value reached during the loop.
Example, if the user enters "3" the steps would be 3 → 10 → 5 → 16 → 8 → 4 → 2 → 1.
I need the output to be "The max value is 16."
I have tried different codes for "max" such as 'max(num)' and 'max(cnt)' but I cannot figure out how to display the highest value.
1 个评论
Stephen23
2017-9-24
编辑:Stephen23
2017-9-24
"So I have wrote this code..."
Really?! You wrote that code? Interestingly that code looks nothing like the code that you wrote, and exactly like the code that I gave you in my answer to your earlier question:
When you take someone's code you should:
Copying work and claiming it as your own is called plagiarism.
采纳的回答
Walter Roberson
2017-9-24
编辑:Walter Roberson
2017-9-24
str=input('Enter an integer greater than 1:','s');
num=str2double(str);
cnt=0;
maxnum = num;
while num>1
cnt=cnt+1;
if mod(num,2)
num=num*3+1;
else
num=num/2;
end
if num > maxnum; maxnum = num; end
end
s=cnt
maxnum
更多回答(1 个)
Image Analyst
2017-9-24
To " display the max value reached during the loop" you need to use fprintf(), assuming "during" means "inside". Here is your code with fprintf just before the bottom of the loop:
str=input('Enter an integer greater than 1:','s');
num=str2double(str);
iterationCount=0;
maxnum = num;
while num>1
iterationCount=iterationCount+1;
if mod(num,2)
num=num*3+1;
else
num=num/2;
end
if num > maxnum
maxnum = num;
end
fprintf('num = %d. The max after iteration #%d is %d\n', num, iterationCount, maxnum);
end
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Startup and Shutdown 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!