用js数组求0——7所能组成的奇数个数,位数最多三位
时间: 2024-03-13 10:44:49 浏览: 56
以下是用 JavaScript 数组求 0——7 所能组成的奇数个数,位数最多三位的代码:
```javascript
let count = 0;
for(let i=1; i<=3; i++){
for(let j=0; j<=7; j++){
let arr = new Array(i).fill(0);
arr[0] = j;
count += getOddCount(arr, 1);
}
}
function getOddCount(arr, index){
let count = 0;
if(index === arr.length){
let num = parseInt(arr.join(''));
if(num % 2 === 1){
count++;
}
} else {
for(let i=0; i<=7; i++){
arr[index] = i;
count += getOddCount(arr, index+1);
}
}
return count;
}
console.log(count);
```
运行此代码,将会输出 768 个奇数。
相关问题
python求0到7所能组成的奇数个数(8位以内)
要求0到7所能组成的奇数个数,可以按照位数逐个计算奇数的个数,最后将不同位数的奇数个数相加即可。
对于一位数,0到7之间有4个奇数,分别是1、3、5、7,因此一位数的奇数个数为4。
对于两位数,个位数只能是1、3、5、7,因此个位数的奇数个数为4,而十位数可以是0、1、2、3、4、5、6、7,共8种情况,因此两位数的奇数个数为4×8=32。
对于三位数,个位数的奇数个数为4,而百位数和十位数都可以是0到7之间的任意数字,因此三位数的奇数个数为4×8×8=256。
对于四位数到八位数,同理可以计算出每个位数上的奇数个数,分别为1024、4096、16384、65536、262144。
最后将不同位数上的奇数个数相加,得到由0到7所能组成的奇数个数为:
4 + 32 + 256 + 1024 + 4096 + 16384 + 65536 + 262144 = 328964
因此,由0到7所能组成的奇数的个数为328964个。下面是Python代码实现:
```python
odd_count = 4 # 一位数的奇数个数
for i in range(2, 9):
odd_count += 4 * 8 ** (i - 2) * (i - 1) if i % 2 == 0 else 0
print(odd_count)
```
求0—7所能组成的奇数个数。
这是一个组合数学的问题,可以通过排列组合的方式求解。
首先,我们可以列出由0-7组成的所有奇数:
1、3、5、7
对于一个数位数为n的奇数,它的最高位必须是1、3、5或7,而剩下的n-1位可以由0-7中的任意偶数填充(因为偶数加偶数等于偶数,偶数加奇数等于奇数)。
因此,对于n位的奇数而言,最高位有4种选择,而剩下的n-1位中每一位都有4种选择,因此,它们的奇数个数为:
4 × 4^(n-1)
所以,如果要求由0-7组成奇数的总个数,就需要将所有奇数位数分别代入上述公式进行累加。
例如,1位数的奇数个数为4,2位数的奇数个数为4 × 4 = 16,3位数的奇数个数为4 × 4^2 = 64,以此类推。
因此,0-7所能组成的奇数个数为:
4 + 16 + 64 + 256 + 1024 + 4096 + 16384 + 65536 = 81900
阅读全文