输入一个整数N 输出所有和为N的连续正数序列
当输入一个整数时,为了获取它的连续整数序列时,一般我们是从比它小的数开始累加,就比如说输入15,从1开始加到2,3,4,5这时相加数就为15,我们就可以不用加后面的,开始从2开始,以此类推的话,于是我们可以发现当我们从15的中间值左右8开始加9时,是直接大于15,可以看出,循环应该到一个数的中间值就应该停止,但不包括中间值的后一项
sumArr(15)
function sumArr(value){
let sum=0,sum1=[],k=0,a=[]
for(let i=1;i<=(value+1)/2;i++){
for(let j=i;j<=(value+1)/2;j++){
sum1.push(j)
sum=sum1.reduce(function(total,currentvalue){
return total+currentvalue
})
if(sumvalue){
for(k=i;k<=j;k++){
a.push(k)
}
console.log(a)
a=[]
sum1=[]
sum=0
break
}else if(j(value+1)/2){
sum=0
sum1=[]
break
}
}
}
}
输入一个整数N 输出所有和为N的连续正数序列
最新推荐文章于 2022-06-07 16:31:50 发布