如何打印从1到9的乘法表,但跳过所有相等的乘法?(JavaScript)
我必须打印出乘法表,如所示示例: 这是我到目前为止写的:如何打印从1到9的乘法表,但跳过所有相等的乘法?(JavaScript),javascript,loops,Javascript,Loops,我必须打印出乘法表,如所示示例: 这是我到目前为止写的: var a=9; var b=9; 对于(var x=1;x1){ 变量y=2; 而(y试试这个: <!DOCTYPE html> <html> <head> <title>Multiply</title> <script> function multiply() { for (let i = 1; i <= 9; i++) {
var a=9;
var b=9;
对于(var x=1;x1){
变量y=2;
而(y试试这个:
<!DOCTYPE html>
<html>
<head>
<title>Multiply</title>
<script>
function multiply() {
for (let i = 1; i <= 9; i++) {
let val = '';
for (let j = i; j <= 9; j++) {
val += `${i} * ${j} = ${i * j}; `;
}
console.log(val);
}
}
window.onload = multiply();
</script>
</head>
<body>
</body>
</html>
倍增
函数乘法(){
对于(让i=1;i在示例中,我们可以看到,对于每个x,乘法从y==x开始
所以你只需要用y=x开始第二个循环
var a = 9;
var b = 9;
for (var x = 1; x <= a; x++){
for (var y = x; y <= b; y++) {
var count = 0;
count = x * y;
process.stdout.write (x +" * "+ y +" = " + count+"; ");
}
console.log();
}
var a=9;
var b=9;
对于(var x=1;x我建议最好存储生成的乘法事实(例如“3*7=21”
)在数据结构中,然后以您喜欢的方式输出它们。还有其他可能性,但最简单的可能是字符串数组。因此,从一个range
函数开始,例如,range(3,7)/=>[3,4,5,6,7]
,您可以这样编写代码:
const multTable = (a, b) => range(1, Math.min(a, b)).map(
x => range(x + 1, Math.max(a, b)).map(y => `${x} * ${y} = ${x * y}`)
)
console.log(multTable(9, 9).map(row => row.join('; ')).join('\n'))
然后,multTable(9,9)
将给出这样的数据结构,您可以这样记录:
const multTable = (a, b) => range(1, Math.min(a, b)).map(
x => range(x + 1, Math.max(a, b)).map(y => `${x} * ${y} = ${x * y}`)
)
console.log(multTable(9, 9).map(row => row.join('; ')).join('\n'))
或者,您也可以选择将其格式化为HTML格式,或者完全使用它执行其他操作
//范围::(Int,Int)->[Int]
//例:范围(3,7)/=>[3,4,5,6,7]
常量范围=(开始,结束)=>Array(结束+1-开始).fill(0).map(((u,i)=>i+开始)
//范围::(Int,Int)->[[乘法事实]]
//其中,乘法事实是一个字符串,如“3*7=21”
常量multTable=(a,b)=>range(1,Math.min(a,b)).map(
x=>range(x+1,Math.max(a,b)).map(y=>`${x}*${y}=${x*y}`)
)
console.log(multTable(9,9).map(row=>row.join(“;”).join(“\n”)
我在这里看不到任何问题。您的代码有什么问题吗?请查看以了解如何提出一个好的相关问题。编辑您的问题以提高其质量。它正在打印此:,我想跳过所有相等的乘法。谢谢!)@assemblerOh我完全忘了。非常感谢!:)@Techniv