为了账号安全,请及时绑定邮箱和手机立即绑定

用JS中WHILE循环写出1到100,除开个位数是九的总和

用JS中WHILE循环写出1到100,除开个位数是九的总和

qq_桃子子子_04176058 2016-11-07 20:02:05
有哪位大神可以写出详细的解题思路吗?谢谢了@
查看完整描述

2 回答

?
千秋此意

TA贡献158条经验 获得超187个赞

function sum() {
    var result = 0, i = 0;

    while(i < 100) {
        (++i % 10 !== 9) && (result += i);
    }

    return result;
}

取模判断个位可以做,楼上说的两种思路都能做

查看完整回答
1 反对 回复 2016-11-08
?
忘性最大的人

TA贡献118条经验 获得超37个赞

                               意思就是不要个位数为九吧, 初始化变量i的值为1,然后while循环,每次增1,并做出判断在超过99时跳出循环。接着就是对i要做处理,判断是否个位数是9,对其取模10,如果取模之后的结果===9,可以再定义一个sum做累加满足上述判断的变量i,然后你可在循环外输出结果sum,注意要将sum和i定义在循环外,不要为循环局部变量。 我想够详细了。 最暴力的也可以全部加起来然后将带9的减去                            

var i=1;
var str = '';
var sum = 0;
while(i<=100){
    str = i+str;
    if(str[str.length-1]!='9'){
        sum=sum+i;
    }
    str="";
    i=i+1;
}
console.log(sum);

取模就参照上面这位的就好。

查看完整回答
反对 回复 2016-11-08
  • 忘性最大的人
    忘性最大的人
    上面的有问题,js和JAVA取模不一样,但是还是可以做,我的想法是可以把一个数字使用+&quot;&quot;连接符变成一个字符串str,然后可以使用字符串str[str.length()]返回最后一个字符再判断它和&quot;9&quot;是否相等,也可以将不符合的剔除。 唉,该补js了。。。
  • 忘性最大的人
    忘性最大的人
    倒是让我玩了很久。。。取模确实可以。。。
  • qq_桃子子子_04176058
    qq_桃子子子_04176058
    谢谢你的用心回答!
  • 2 回答
  • 0 关注
  • 3000 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信