ループを使用して JS によって解決されるいくつかの問題
- 1. 3 の倍数を 0 ~ 100 で出力します。
- 2. ページに 1000 ~ 2000 年の閏年を書き込みます。
- 3. 100 以内のすべての偶数の合計を出力します。
- 4. 1-1/2+1/3-1/4…..1/100の合計を求めます。
- 5. 三角形を印刷します。
- 6. 二等辺台形
- 7. 100 ~ 200 のすべての素数を出力します。
- 8. 1+2!+3!+...+20! の値を求めます。
- 9. 64 マスのチェス盤があります。最初のマスにゴマを 1 個置くと重さは 0.00001kg、2 番目のマスに 2 個、3 番目のマスに 4 を置きます。盤上のゴマはすべて重さになります。
- 10. 九九の九九をページに完成させます
- 11. 3 行 5 列の表を印刷します。
1. 3 の倍数を 0 ~ 100 で出力します。
- アイデア: まず for ループを使用して 0 から 100 までの数値を出力し、次に if 条件ステートメントを使用してフィルターし、3 で割り切れるものを出力します。
for(var i=0;i<=100;i++){
if(i%3==0&&i!=0){
console.log(i);
}
}
2. ページに 1000 ~ 2000 年の閏年を書き込みます。
- アイデア: まず for ループを使用して 1000 ~ 2000 年を出力し、次に条件を使用してうるう年 (4 で割り切れ、100 で割り切れない、または 400 で割り切れない) かどうかを判断し、印刷用にうるう年を除外します。
for(var i=1000;i<=2000;i++){
if(i%4==0&&i%100!=0 || i%400==0){
console.log(i+'是闰年');
}
}
3. 100 以内のすべての偶数の合計を出力します。
- アイデア: まずループを使用して 0 から 100 までの数値を出力し、次に if 条件判定ステートメントを使用して 2 の倍数 (0 は特別な偶数) を出力し、これらの数値を合計します。
var sum=0
for(var i=1;i<=100;i++){
if(i%2==0){
sum+=i
}
}
console.log(sum);
- 結果: 2550
4. 1-1/2+1/3-1/4...1/100の合計を求めます。
アイデア: すべての分子は変更されず、すべて 1 です。分母が偶数の場合、前の数値が偶数から減算されます。
var sum=0
for(var i=1;i<=100;i++){
if(i%2==0){
sum-=1/i
}else{
sum+=1/i
}
}
console.log(sum);
- 結果: 0.688172179310195
5. 三角形を印刷します。
5.1 普通の三角形
for (var i = 1; i <= 9; i++) {
for (var j = 1; j <= i; j++) {
document.write('☆');
}
document.write('<br>')
}
表示効果:
5.2 逆三角形
for (var i = 1; i <= 9; i++) {
for (var j = 9; j >= i; j--) {
document.write('☆');
}
document.write('<br>')
}
表示効果:
5.3 二等辺三角形
for (var i = 1; i <= 9; i++) {
for (var j = 9; j >= i; j--) {
document.write(' ');
}
for (var j = 1; j <= i; j++) {
document.write('☆');
}
document.write('<br>')
}
表示効果:
6. 二等辺台形
- 台形はiの初期値を制御することで実現されます。
for (var i = 5; i <= 9; i++) {
for (var j = 9; j >= i; j--) {
document.write(' ');
}
for (var j = 1; j <= i; j++) {
document.write('☆');
}
document.write('<br>')
}
表示効果:
7. 100 ~ 200 のすべての素数を出力します。
- アイデア: まず第一に、素数は 1 とそれ自体でしか割り切れない数です。ループするときに 1 とそれ自体を除外し、double for ループを使用できます。外側のループは、100 から 100 までの数値をトラバースするために使用されます。 200 を指定し、フラグを定義します。初期値は true で、その後、内側のループで素数かどうかが判断されます。素数でない場合は、フラグに false が割り当てられます。 flag が true の場合、それは素数であり、出力されます
for(var i=100;i<=200;i++){
var flag=true
for(var j=2;j<i;j++){
if(i%j==0){
flag=false
}
}
if(flag){
document.write(i+'<br>')
}
}
- 結果:
8. 1+2!+3!+…+20! の値を求めます。
- アイデア: これは、1 プラス 2 の階乗と 3 プラス 4 の階乗から 20 の階乗までを求めることです。まず、変数 sum を定義してそれを受け取り、次に 1 から 20 までを走査する外側のループを作成します。
- 最初のサイクル
- i が 1 に等しい、k が 1 に等しい、j が 1 に等しい、k が k に等しい*j が 1 に等しいとき、sum は 0 と 1 を足したものは 1 に等しい
- 2番目のサイクル
- i が 2、k が 1、j が 1、k が k*j が 1 の場合
- j は 2、k は k*j は 2、合計は 1 プラス 2 は 3 に等しい
- 3番目のサイクル
- i が 3、k が 1、j が 1、k が k*j が 1 の場合
- j は 2、k は k*j は 2 に等しい
- j は 3、k は k*j は 6、合計は 1 プラス 1+2+6=9 となります。
- 等々。。。。
var sum = 0;
for (var i = 1; i <= 20; i++) {
var k = 1;
for (var j = 1; j <= i; j++) {
k *= j;
}
sum += k;
}
console.log(sum);
結果: 2561327494111820300
9. 64 マスのチェス盤があります。最初のマスにゴマを 1 個置くと重さは 0.00001kg、2 番目のマスに 2 個、3 番目のマスに 4 を置きます。盤上のゴマはすべて重さになります。
- アイデア: 最初の数値は 1、2 番目の数値は 2、3 番目の数値は 4、4 番目の数値は 8 などとなり、2 つの数値の乗算は 3 番目の数値と等しくなります。それぞれ、sum と num を定義して保持します。合計数量と数値を入力し、ループを使用してコード 1 ~ 64 を実行します。
var sum=0;
var num=1;
for(var i=1;i<=64;i++){
sum+=num;
num*=2;
}
console.log(sum*0.00001);
結果: 184467440737095.53
10. 九九の九九をページに完成させます
for (var i = 1; i <= 9; i++) {
for (var j = 1; j <= i; j++) {
document.write('<span>'+j+'*'+i+'='+i*j+'</span>');
}
document.write('<br>')
}
表示効果: スタイルは個別に記述されます
11. 3 行 5 列の表を印刷します。
document.write('<table>')
for(var i=1;i<=3;i++){
document.write('<tr>')
for(var j=1;j<=5;j++){
document.write('<td></td>')
}
document.write('</tr>')
}
document.write('</table>')
表示効果: スタイルは別途追加されます