zoukankan      html  css  js  c++  java
  • 【JS编程练习】赛码网各种练习

    1.上台阶
    var
    n, array = [], m,array2 = []; n = read_line();n = parseInt(n); while(m = read_line()){ array.push(parseInt(m)); } for(var i = 0; i < n; i++){ array2[i] = func(array[i]); } for(var x = 0; x < array2.length; x++){print(array2[x]);} function func(m){ if(m >= 4){ return func(m - 1) + func(m - 2); }else if(m == 3){ return 2; }else if(m == 2){ return 1; }else if(m == 1){ return 0; } }

     2.约德尔测试

    var input = read_line();
    var input2 = read_line();
    var trans = "";
    var reg = /[a-zA-Z0-9]/;
    for(var i = 0; i < input.length; i++){
      if(reg.test(input[i])){
        trans = trans + "1";
      }else{
        trans = trans + "0";
      }
    }
    var count = 0;
    for(i = 0; i< input.length; i++){
      if(trans[i] == input2[i]){
        count++;
      }
    }
    print((count/input.length*100).toFixed(2) + "%");

     3.分苹果

    题目描述

    果园里有堆苹果,N(1<N<9)只熊来分。第一只熊把这堆苹果平均分为N份,多了一个,它把多的一个扔了,拿走了一份。第二只熊把剩下的苹果又平均分成N份,又多了一个,它同样把多的一个扔了,拿走了一份,第三、第四直到第N只熊都是这么做的,问果园里原来最少有多少个苹果?

    输入

    输入1个整数,表示熊的个数。它的值大于1并且小于9。

    样例输入

    5

    输出

    为1个数字,表示果园里原来有的苹果个数。

    样例输出

    3121

    var tem;
    var N = read_line();N = parseInt(N);
    for(var i = 1;; i++){
        tem = i;
        for(var j = 1; j <=N; j++){
            tem = (tem - 1)/N * (N - 1);
        }
        if(Math.floor(tem) == tem && tem !=0){
            print(i);
            break;
        }
    }

     4.马路上的路灯

    题目描述

    城市E的马路上有很多路灯,每两个相邻路灯之间的间隔都是1公里。小赛是城市E的领导,为了使E城市更快更好的发展,需要在城市E的一段长度为M的主干道上的一些区域建地铁。这些区域要是建了地铁,就需要挪走相应的路灯。可以把长度为M的主干道看成一个数轴,一端在数轴0的位置,另一端在M的位置;数轴上的每个整数点都有一个路灯。要建地铁的这些区域可以用它们在数轴上的起始点和终止点表示,已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的路灯(包括区域端点处的两个路灯)移走。你能帮助小赛计算一下,将这些路灯移走后,马路上还有多少路灯?

    输入

    输入文件的第一行有两个整数M(1 <= M <= 10000)和 N(1 <= N <= 100),

    M代表马路的长度,N代表区域的数目,M和N之间用一个空格隔开。

    接下来的N行每行包含两个不同的整数,

    用一个空格隔开,表示一个区域的起始点和终止点的坐标。

    所有输入都为整数。且M和N的范围为上面提示范围。

    样例输入

    500 3
    100 200
    150 300
    360 361

    输出

    输出文件包括一行,这一行只包含一个整数,

    表示马路上剩余路灯的数目。

    样例输出

    298

    var input = read_line();
    var M = parseInt(input.split(" ")[0]);
    var N = parseInt(input.split(" ")[1]);
    var line,array=[];
    while(line = read_line()){
      line = [parseInt(line.split(" ")[0]),  parseInt(line.split(" ")[1])];
      array.push(line);
    }
    count = 0;
    for(var i = 0; i <= M; i++){
      var ok = true;
      for(var j = 0; j < array.length; j++){
        if(i <=array[j][1] && i >= array[j][0]){
          ok = false;
          break;
        }
      }
      if(ok){
        count++;
      }
    }
    print(count);

     5.日期倒计时

    题目描述

    在经济、科技日益发达的今天,人们对时间的把握越来越严格,对于一个一定影响力的公司的高管来说,他可能要将自己的行程提前安排到下个月。对于普通人来说,他也可能将几天之后的安排已经提前做好。

    请设计一个程序计算出今天距离未来的某一天还剩多少天。

    假设今天是2015年10月18日。

    输入

    输入一个日期格式为yyyy-MM-dd,

    不考虑日期是否小于今天。

    样例输入

    2015-10-19

    输出

    输出一个数字表示今天

    (2015年10月18日)

    距离该日期还剩多少天。

    样例输出

    1

    var input = read_line();
    arr = input.split("-");
    arr.forEach(function(item, index){
      arr[index] = parseInt(item);
    });
    var day = +new Date(arr[0], arr[1] - 1, arr[2]);
    var today = +new Date(2015, 9, 18);
    var long = (day - today)/(1000 * 60 * 60 * 24 );
    print(long);

    6.约会 

    题目描述

    Bob和Alice有个约会,一大早Bob就从点(0,0)出发,前往约会地点(a,b)。Bob没有一点方向感,因此他每次都随机的向上下左右四个方向走一步。简而言之,如果Bob当前在(x,y),那么下一步他有可能到达(x+1,y), (x-1,y), (x,y+1), (x,y-1)。很显然,当他到达目的地的时候,已经很晚了,Alice早已离去。第二天,Alice质问Bob为什么放她鸽子,Bob说他昨天花了s步到达了约会地点。Alice怀疑Bob是不是说谎了。你能否帮她验证一下?

    输入

    输入三个整数a,b,s

    样例输入

    5 5 11

    输出

    输出“Yes”,

    如果Bob可能用s步到达(a,b);

    否则输出“No”,

    不需要输出引号。

    样例输出

    No

    var input;
    input = read_line();
    input = input.split(" ");
    input[0] = parseInt(input[0]);input[1] = parseInt(input[1]);input[2] = parseInt(input[2]);
    var a = input[0], b = input[1], s = input[2];
    if(a < 0)a = -a;
    if(b<0)b = -b;
    var x = s - (a + b);
    if(x % 2 ==0 && x >= 0){
      print("Yes");
    }else{
      print("No");
    }

    7.公交车乘客

    题目描述

    一个公交车经过n个站点,乘客从前门上车,从后门下车。

    现在统计了在第i个站,下车人数a[i],以及上车人数b[i]。

    问公交车运行时候车上最多有多少乘客

    输入

    第一行读入一个整数n(1<=n<=100),

    表示有n个站点

    接下来n行,每行两个数值,分别表示在第i个

    站点下车人数和上车人数

    样例输入

    4

    0 3

    2 5

    4 2

    4 0

    输出

    每组输出车上最多的乘客数目

    样例输出

    6

    var input;
    input = read_line();
    input = parseInt(input);
    var line;
    var most = 0, tem = 0;
    for(var i = 1;  i<=input;i++){
      line = read_line();
      line = [ parseInt(line.split(" ")[0]), parseInt(line.split(" ")[1]) ];
      tem = tem - line[0] + line[1];
      if(most < tem){
        most = tem;
      }
    }
    print(most);
    寻找爱
  • 相关阅读:
    关于C语言中的绝对值函数
    B. Interesting drink(水题 二分)
    A. Boring Apartments(水题)
    A. FashionabLee(水题)
    A. Collecting Coins(水题)
    A. Fancy Fence(水题)
    最小公因数,最小公倍数,以及快速幂模板
    android:layout_gravity 和 android:gravity 的区别
    Android开发之Intent略解
    java中类的创建及初始化过程
  • 原文地址:https://www.cnblogs.com/carolina/p/5875479.html
Copyright © 2011-2022 走看看