题解 | #快速生长的草# java

快速生长的草

https://www.nowcoder.com/practice/de1d9ec0d53d4202ae83dc3b25a63166

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param n int整型
     * @param m int整型
     * @return int整型
     */
    public int trailingZeroes (int n, int m) {
        // write code here
        int count = 0;
        while (m-- > 0) {
            n *= 2;
            if (n % 10 == 0) {
                count++;
                n /= 10;
            }
            if (n % 10 != 5 && n % 10 != 0) {
                break;
            }
        }
        return count;
    }
}

题目涵盖了以下知识点:

  1. 循环控制
  2. 条件语句
  3. 整数运算

代码的文字解释如下:

  • 初始化变量 count 用于记录满足条件的数值的个数。
  • while 循环会迭代 m 次,其中每次循环会执行以下操作:将 n 乘以 2,相当于将数值的二进制表示左移一位,这可能会导致数值末尾添加零。如果 n 末尾有零(即 n % 10 == 0),则增加 count 计数并将 n 除以 10,以去除末尾的零。如果 n 末尾不是 5 或 0,说明不会再有末尾的零,于是跳出循环。
  • 返回 count,表示满足条件的数值的个数。
全部评论

相关推荐

03-05 14:55
已编辑
门头沟学院 Java
Jhin4ever:别去,杂活太多,今天让你部署一下模型,明天让你写一下LLM工作流,后天要你研究一下Agent,想微调模型都难
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务