JavaScript史上最も完全で、最も簡単な小例で、後悔シリーズを見ない(一)
63989 ワード
1.計算10の乗算:
2.円の周長、半径を計算します.
3.洪水に抵抗するため、戦士は89時間戦い、89時間を計算すると何日に何時間加算されますか.
4.80華氏の温度が摂氏数に等しいかを計算する.
5.90度から弧度に変換した回数(結果は3桁の小数点以下を保持):
6.点数を入力し、成績等級(if、switchの2種類の表記)を判定する.
7.月を入力し、その月の日数を表示し、caseを使用して透過します.
8.日付によって、この日がこの年の何日目かを判断する(switchでスルー):
9.入社給料10 k、毎年5%上昇して、50年後の給料はいくらですか?
10.100以内の奇数を印刷し、すべての奇数の合計を印刷します.
11.ページ印刷20-80の間で3で割り切れる数、5行ごとに
12.印刷100-200の間に3または7で割り切れるすべての数:
13.1+2を求める!+3!+…+20!の値:
14.1/1-1/2+1/3-1/4…1/100の和を求める:
15.1つの碁盤があって、64個の四角い格子があって、第1の四角い格子の中で1粒のゴマの重量の0.00001 kgを入れて、第2の中で2粒を入れて、第3の中で4粒を入れて、碁盤の上ですべてのゴマの粒の和を求めます:
16.99乗算表:
17.関数を作成し、2つの数の和差積商を計算する.
18.1つの関数を作成して、ページの上で1つのN行M列の表を印刷して、表の内容は0-100のランダムな数字を埋めます:
19.バスケットボールを5メートルの高さから落下して、毎回元の60%に上昇して、何回の落下を求めて、高さは0.1メートル未満です:
20.ページに任意の数字を入力し、ボタンをクリックしてその数字の階乗を計算する.
21.1,1,2,3,5,8,13,21…から10位(フィボナッチ):
22.関数を作成し、nが偶数である場合、呼び出し関数は1/2+1/4+1/6+...+1/nを求める.入力nが奇数の場合、呼び出し関数1/1+1/3+1/5+...+1/n:
23.任意の2つの数字の間で構成できる奇数の個数を計算する関数を作成し、数字は1桁でなければならない.例えば、0-3の間で構成できる奇数を計算するのは、01,03,13,21,23,31である.
24.1つの関数を書く:4桁の数で、それぞれの数字に5を加えて、それから10で割った余剰数でその数字の代わりに、第1位と第4位を交換して、第2位と第3位を交換して、原文を入力して、暗号文を出力する.例:8848→3933:
25.関数map(arr)を記述し、配列の各数字を30%増やし、新しい配列を返します.
// 10
// ,
var jc = 1;
//
for(i = 1;i <= 10;i++){
jc *= i;
}
//
console.log(jc); // 3628800
2.円の周長、半径を計算します.
// 80
var r = 80;
//
var h = 2*Math.PI*r;
// 3
var h = h.toFixed(3);
//
var s = Math.PI*r*r;
var s = s.toFixed(3);
3.洪水に抵抗するため、戦士は89時間戦い、89時間を計算すると何日に何時間加算されますか.
//
var h = 89;
//
var day = parseInt(h/24);
//
var hour = h%24;
4.80華氏の温度が摂氏数に等しいかを計算する.
// hua, 80
var hua = 80;
//
var she = 5/9.0*(hua-32);
// 3
she = she.toFixed(3);
5.90度から弧度に変換した回数(結果は3桁の小数点以下を保持):
var angle = 90;
//
var radian = Math.PI/180*angle;
// 3
var radian = radian.toFixed(3);
6.点数を入力し、成績等級(if、switchの2種類の表記)を判定する.
//if :
//
var ach = 10;
//
if(ach >= 0 && ach < 60){
console.log(" ");
}else if(ach >=60 && ach < 80){
console.log(" ");
}else if(ach >=80 && ach < 100){
console.log(" ");
}else if(ach == 100){
console.log(" ");
}else{
console.log(" 1-100 ");
}
//
var ach= 88;
switch(true){
case ach >= 0 && ach < 60:
console.log(" ");
break;
case ach >= 60 && ach < 80:
console.log(" ");
break;
case ach >= 80 && ach < 100:
console.log(" ");
break;
case ach == 100:
console.log(" ");
break;
default:
console.log(" 1-100 ");
}
7.月を入力し、その月の日数を表示し、caseを使用して透過します.
//
var mon = 6;
//
switch(mon){
// 2
case 2:
console.log(" 29 、 28 ");
break;
// 31
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
console.log(" 31 ");
break;
// 30
case 4:
case 6:
case 9:
case 11:
console.log(" 30 ");
break;
default:
console.log(" 1-12 ");
}
8.日付によって、この日がこの年の何日目かを判断する(switchでスルー):
var year = 2016;
var mon =2;
var day = 11;
var allday = 0;
switch(mon - 1){
case 11:
allday += 30;
case 10:
allday += 31;
case 9:
allday += 30;
case 8:
case 7:
allday += 31;
case 6:
allday += 30;
case 5:
allday += 31;
case 4:
allday += 30;
case 3:
allday += 31;
case 2:
if(year % 4 == 0 && year % 100 !=0 || year % 400 == 0){
allday += 29;
}else{
allday += 28;
}
case 1:
allday += 31;
break;
}
console.log(allday + day); // 42
9.入社給料10 k、毎年5%上昇して、50年後の給料はいくらですか?
var sal = 10;
//
for(var i = 1;i <= 50;i++){
sal *= 1.05;
}
10.100以内の奇数を印刷し、すべての奇数の合計を印刷します.
var sum = 0;
//
for(var i = 1;i <= 100;i++){
//
if(i % 2 ==1){
// 100
console.log(i); // 1 3 5 7 ... 97 99
// 100
sum += i;
}
}
11.ページ印刷20-80の間で3で割り切れる数、5行ごとに
var j =0;
//
for(var i = 20;i <= 80;i++){
//
if(i % 3 == 0){
//
document.write(i+" ");
j++;
// 5
if(j % 5 == 0){
document.write("
");
}
}
}
12.印刷100-200の間に3または7で割り切れるすべての数:
for(var i = 100;i <= 200;i++){
//
if(i % 3 == 0 && i % 7 == 0){
//
console.log("100-200 3 7 :"+i); // 105 126 147 168 189
}
}
13.1+2を求める!+3!+…+20!の値:
// 0
varsum = 0;
//
for(var i = 0;i <= 20;i++){
// 1
var num = 1;
//
for(var j = 1;j <= i;j++){
num *= j;
}
//
sum += num;
}
14.1/1-1/2+1/3-1/4…1/100の和を求める:
var sum = 0;
//
for(var i = 1;i <= 100;i++){
if(i % 2 == 1){
//
sum += (1/i);
}else{
//
sum -= (1/i);
}
}
15.1つの碁盤があって、64個の四角い格子があって、第1の四角い格子の中で1粒のゴマの重量の0.00001 kgを入れて、第2の中で2粒を入れて、第3の中で4粒を入れて、碁盤の上ですべてのゴマの粒の和を求めます:
var sum = 0;
var chu;
//
for(var i = 0;i < 64;i++){
// 2 i
sum += Math.pow(2,i);
}
//
chu = sum * 0.00001;
16.99乗算表:
//
for(var i=1;i<=9;i++){
//
for(var j=1;j<=i;j++){
//
document.write(i+"*"+j +"="+i*j+" ");
}
//
document.write("
");
}
17.関数を作成し、2つの数の和差積商を計算する.
//
function num(a,b,fh){
//
switch(fh){
case "+":
console.log(" :" + a+b);
break;
case "-":
console.log(" :" + a-b);
break;
case "*":
console.log(" :" + a*b);
break;
case "/":
console.log(" :" + a/b);
break;
}
}
num(66,88,"*");
18.1つの関数を作成して、ページの上で1つのN行M列の表を印刷して、表の内容は0-100のランダムな数字を埋めます:
//
function bg(m,n){
//
document.write("");// for(var i=0;i<=m;i++){
//
document.write("");// for(var j=0;j<=n;j++){
//
document.write("");}
document.write("/");}
document.write("
");
//
document.write(Math.round(Math.random()*100));
document.write("
")
}
bg(5,5);
19.バスケットボールを5メートルの高さから落下して、毎回元の60%に上昇して、何回の落下を求めて、高さは0.1メートル未満です:
var h = 5;
var cs= 1;
//
while (true) {
h *= 0.6;
//
if(h < 0.1){
//
console.log(cs);
//
break;
}
//
cs++;
}
20.ページに任意の数字を入力し、ボタンをクリックしてその数字の階乗を計算する.
function jc (n){
if(n == 1){
return 1;
}
return jc(n - 1)*n;
}
var btn = document.getElementById("btn");
var ipt = document.getElementById("ipt");
btn.onclick = function(){
var m = parseInt(ipt.value);
var result = jc(m);
console.log(" :"+result);
}
21.1,1,2,3,5,8,13,21…から10位(フィボナッチ):
function fn(n){
if(n === 1 || n === 2){
return 1;
}else{
return fn(n - 1) + fn(n - 2);
}
}
var num = fn(10);
22.関数を作成し、nが偶数である場合、呼び出し関数は1/2+1/4+1/6+...+1/nを求める.入力nが奇数の場合、呼び出し関数1/1+1/3+1/5+...+1/n:
function fn(n){
if (n == 1){
return 1;
}else if(n == 2){
return 1/2;
}
return 1/n + fn(n - 2);
}
var btn = document.getElementById("btn");
var ipt = document.getElementById("ipt");
btn.onclick = function(){
var n = parseInt(ipt.value);
var sum = fn(n);
console.log(" :"+sum);
}
23.任意の2つの数字の間で構成できる奇数の個数を計算する関数を作成し、数字は1桁でなければならない.例えば、0-3の間で構成できる奇数を計算するのは、01,03,13,21,23,31である.
function num(n,m){
var count = 0; //
if (n > m){
var i = n;
n = m;
m = i;
}
console.log(n,m);
for(var j = n;j<=m;j++){
if(j%2 == 1){
for(var k=n;k<=m;k++){
var str = ""+k+j;
console.log(str);
// , ++
count++;
}
}
}
return count;
}
24.1つの関数を書く:4桁の数で、それぞれの数字に5を加えて、それから10で割った余剰数でその数字の代わりに、第1位と第4位を交換して、第2位と第3位を交換して、原文を入力して、暗号文を出力する.例:8848→3933:
//
function fn(n){
var gw = parseInt(n/1) % 10;
var sw = parseInt(n/10) % 10;
var bw = parseInt(n/100) % 10;
var qw = parseInt(n/1000) % 10;
console.log(" :" + qw,bw,sw,gw);
// 5, 10
gw = (gw + 5) % 10;
sw = (sw + 5) % 10;
bw = (bw + 5) % 10;
qw = (qw + 5) % 10;
// 、
var num1 = sw;
sw = bw;
bw = num1;
// 、
var num2 = gw;
gw = qw;
qw = num2;
return "" + qw + bw + sw + gw;
}
console.log(" :" + fn(8848));
25.関数map(arr)を記述し、配列の各数字を30%増やし、新しい配列を返します.
function map(arr){
var a = [];
for(var i=0;i<arr.length;i++){
a.push(arr[i] * 1.3);
}
return a;
}
var num = [1,2,3,4,5];
console.log(num);
var res = map (num);
console.log(res);
console.log(num);