效果图
实现代码
def main(args: Array[String]): Unit = {
//提示输入语句
println("输入1000以内的数值")
//读取
var num = StdIn.readInt()
//统计次数
var count = 0;
//循环 1 到我们输入的数
for (i <- 1 to num){
// i一会要用到 会除以本身 为了不影响循环 所以赋值给j
var j = i;
// 和值
var sum = 0;
// 乘积
var c = 1;
//无限循环 只要j>0
while (j >0){
// j%10为个位数
sum +=j%10
c *= j%10
// j除以10 如果 依旧 >0 那么 j%10 就会为十位数 依次类推
j /= 10
}
//如果 和值大于乘积 count++ 且输出
if (sum > c){
count+=1
println(i)
}
}
println(s"从1到${num}各位数之和大于各位数之积的数共${count}个")
}