Ruby 红宝石中的丑陋数字

Ruby 红宝石中的丑陋数字,ruby,Ruby,我是学习Ruby语言的初学者。 我在leetcode学习它 这里有一个解决方案,但我不知道为什么? 我想知道解决方案的结构是什么 难看的数字 解决方案: def is_ugly(num) (2..5).each { |i| num /= i while (num % i == 0) } if num > 0 num == 1 end 我不知道为什么‘如果’必须落后} 如果我删除“if”语句,它将是错误的 语法错误,输入意外结束,应为关键字\u end 及 while

我是学习Ruby语言的初学者。 我在leetcode学习它

这里有一个解决方案,但我不知道为什么? 我想知道解决方案的结构是什么

难看的数字 解决方案:

def is_ugly(num)
   (2..5).each { |i| num /= i while (num % i == 0) } if num > 0 
   num == 1
end   
  • 我不知道为什么‘如果’必须落后}

    如果我删除“if”语句,它将是错误的

    语法错误,输入意外结束,应为关键字\u end

  • while(num%i==0)
    我不明白这句话

    据我所知,while似乎是:

  • 例如


    非常感谢如果
    都是所谓的后缀(简称)形式,那么
    都是

    试试这些:

    puts "yes" if true
    

    这基本上与:

    if true
      puts "yes"
    end
    

    对于

    num /= i while (num % i == 0) 
    
    完全一样

    while (num % i == 0)
      num = num / i
    end
    

    if
    while
    都是所谓的后缀形式

    试试这些:

    puts "yes" if true
    

    这基本上与:

    if true
      puts "yes"
    end
    

    对于

    num /= i while (num % i == 0) 
    
    完全一样

    while (num % i == 0)
      num = num / i
    end
    
    “这里有一个解决方案,但我不知道为什么?”---我不能真正解释为什么这个“解决方案”有效,而不知道这个问题!“丑陋”数字的定义是什么?问题是什么?“丑陋的数字是正数,其素数因子仅包括2、3、5”。“这里有一个解决方案,但我不知道为什么?”---我无法真正解释为什么这个“解决方案”有效,而不知道这个问题!“丑陋”数字的定义是什么?问题是什么?“丑陋的数字是正数,其素数因子仅包括2、3、5”。