【傲气每日一练 第 2 期】1~123456
请问 1~123456 之间所有 7 的倍数和末尾含 7 的数的和是?答案在下方
#include <stdio.h>
#include <stdlib.h>
int main()
{
long i, j;
j = 0;
for ( i = 0; i <= 123456; ++i )
{
if ( i % 7 == 0 || i % 10 == 7 )
j = j + i;
}
;
printf( "%d\n", j );
system( "pause" );
return(0);
}
#coding=utf-8
def demo():
"""calculate the answer"""
sum=0
t=range(1,123457)
for i in t:
if i%7==0 or i%10==7:
sum+=i
print sum
demo()
/*
calcucate the answer
*/
var sum=0;
function demo(k){
if (k%7==0||k%10==7) {
sum+=k;
}
}
for (var i =1; i <=123456; i++) {
demo(i);
}
console.log(sum);
楼主你到底会多少种语言?
依旧来个js版
//根据规律可以减少循环次数,提高效率
function dowork(max,b){
if(b>9){return 'none';}
//获取基数的倍数存在次数
var p = parseInt(max/7) + (max % 7 ==0?0:1);
t=0;
for(var i=1;i<p;i++){
t+=b*i;
}
//小于10的基数,每加10会存在一次,获取次数
p = parseInt(max / 10);
t2=0;
for(var i=0;i<p;i++){
if(i%7!=0)
t2 += b+10*i
}
return t+ t2;
}
dowork(123456,7)
//1741821309
2809818948 发表于 2016-4-23 12:23
依旧来个js版
//根据规律可以减少循环次数,提高效率
不错的想法。你最后忘了输出了。console.log(dowork(123456,7)); 太神拉
小白表示看不懂
學習 楼主真厉害,js,c,java倒是可能写的出这个 厉害,膜拜
页:
[1]