首页 > 代码库 > for循环练习+js数组

for循环练习+js数组

           一张纸的厚度是0.0001米,将纸对折,对折多少次厚度超过珠峰高度8848米。        小知识点就是 两个变量交换:

      var weight = 0.0001;                                                                        var a = 1;
      var i = 0;                                                                                         var b = 2;
      while (true) {                                                                                    varc;
      if (weight >= 8848)                                                                            c=a
      {                                                                                                      a=b
        break;                                                                                         b=c                    
            } else {                                                                               
                  i++
                  weight*=2
            }

            }

有一对幼兔,幼兔1个月后长成小兔,小兔1个月后长成成兔并生下一对幼兔,问几年后有多少对兔子,幼兔、小兔、成兔对数分别是多少。

幼兔 1 小兔 0 成兔 0
幼兔 0 小兔 1 成兔 0
幼兔 1 小兔 0 成兔 1
幼兔 1 小兔 1 成兔 1
幼兔 2 小兔 1 成兔 2
幼兔 3 小兔 2 成兔 3
幼兔 5 小兔 3 成兔 5

当前月份幼兔 = 上个月的成兔+上月小兔
当前月份小兔 = 上月幼兔
当前月份成兔 = 上月成兔+上月小兔.

    var count = prompt();
    var yt = 1;
    var xt = 0;
    var ct = 0;
    for (var i = 2; i <= count; i++) {
    var pre_yt = yt;
    var pre_xt = xt;
    var pre_ct = ct;

    yt = pre_ct + pre_xt;
    xt = pre_yt;
    ct = pre_ct + pre_xt;
    }
    alert(yt + "," + xt + "," + ct);

    羽毛球拍15元,球3元,水2元。200元每种至少一个,有多少可能,羽毛球拍最多买13个 球最多买66个 水最多买100个

    var count = 0;
    for (var i = 1; i <= 13; i++) {
    for (var j = 1; j <= 66; j++) {
    for (var z = 1; z <= 100; z++) {
    var sum = 15 * i + 3 * j + 2 * z;
    if (sum == 200) {
    count++;
    }

    }
    }
    }
    alert(count);

公鸡2文,母鸡1文,小鸡半文,每种至少一只,100文买100只鸡有多少可能性

公鸡最多50,母鸡最多100,小鸡最多200.

    var counter = 0;
    for (var i = 1; i <= 50; i++) {
    for (var j = 1; j <= 100; j++) {
    for (var z = 1; z <= 200; z++) {
    var sum = 2 * i + 1 * j + 0.5 * z;
    var gs = i+j+z;
    if (sum == 100 && gs == 100) {
    counter++;
    }
    }
    }
    }
    alert(counter);

凑钱1,2,5凑20元钱有多少可能;

    var count = 0;
    for (var i = 1; i <= 20; i++) {
    for (var j = 1; j <= 10; j++) {
    for (var z = 1; z <= 4; z++) {
    var sum = i * 1 + j * 2 + z * 5;
    if (sum == 20) {
    count++;
    }
    }
    }
    }
    alert(count);

   除了今天所做的习题之外还有js数组基本内容。包括,首先是数组的定义,new Array();它的长度是动态变化的,里面可以放任意类型的元素。其中他包括三种形式:

var arr1 = [1, 2, 3, 4, 5, 6];    var arr2 = Array(1, 2, 3, 4, 5,6);   var arr3 = new Array();  比如说arr1[6] = 7;    arr1["x"] = "y";  其中如果比喻的话x就相当于人的名字,y相当于本人, 数组元素的取值为:a[i]; 数组的属性包括alert(arr1.length);

其中在for循环中数组包括两种形式,其一为:

    arr1.push(8);

    arr1.pop();

    alert(arr1[6]);

    for (var i = 0; i < arr1.length; i++) {
    alert(arr1[i]);
    }

         for (var x in arr1) {

        alert(x);

        alert(arr1[x]);

        }。

   

 

  

for循环练习+js数组