一些编程题,记录

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>title</title>
</head>
<body>
<img src="" onclick="prev()" alt="">
<script>
    /*
    * 一、    实现 fizzBuzz 函数,参数 num 与返回值的关系如下:
    *        1、如果 num 能同时被 3 和 5 整除,返回字符串 fizzbuzz
    *        2、如果 num 能被 3 整除,返回字符串 fizz
    *        3、如果 num 能被 5 整除,返回字符串 buzz
    *        4、如果参数为空或者不是 Number 类型,返回 false
    *        5、其余情况,返回参数 num
    *
    *
  //

    function fizzbuzz(num) {
        if (num===null  || typeof num!==‘number‘) {
            return false
        } else if (num % 3 === 0 && num % 5 === 0) {
            return ‘fizzbuzz‘
        } else if (num % 3 === 0) {
            return ‘fizz‘
        } else if (num % 5 === 0) {
            return ‘buzz‘
        } else {
            return num
        }
    }

    console.log(fizzbuzz(‘ ‘))
    */
    /*
    * 二、给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。
    * 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。
    * 示例:
    * 给定
    *  nums = [2, 7, 11, 15],
    *  target = 9因为 nums[0] + nums[1] = 2 + 7 = 9
    * 所以返回 [0, 1]
    *
    *
    var arr = [2, 7,45,454, 11, 15];
    var  target = 17;
    for(var i=0;i<arr.length;i++){
        for (var j=1;j<arr.length;j++){
            if (target ===arr[i]+arr[j] &&arr[i]!==arr[j]){
              console.log([i,j])
            }
        }
    }*/
    /*
    * 三、大马驮2石粮食,      x=2
    * 中马驮1石粮食,    y=1
    * 两头小马驮一石粮食,  z=1/2     2x +
    * 要用100匹马,
    * 驮100石粮食,
    * 该如何调配?
    *
    var a=0;
    for (var x = 1; x < 100; x++) {
        for (var y = 1; y < 100; y++) {
            for (var z =1; z < 100; z++) {
                if (2*x+y+(1/2) * z===100 && x + y + z === 100) {
                    a++;
                    console.log(x, y, z ,a+‘种‘);
                }
            }
        }
    }*/
    /*
    * 四、小明单位发了100元的购物卡,
    * 小明到超市买三类洗化用品,
    * 洗发水(15元),
    * 香皂(2元),
    * 牙刷(5元)。
    * 要把100元整好花掉,
    * 可如有哪些购买结合?
    *
    *
    *
    var a=0;
    for (var x=1;x<100;x++){
        for (var y=1;y<100;y++){
            for (var z=1;z<100;z++){
                if (15*x+2*y+5*z===100){
                    a++
                    console.log(x,y,z,a+‘种‘)
                }
            }
        }
    }* */
    /*
    * 五、某侦察队接到一项紧急任务,
    * 要求在A、B、C、D、E、F六个队员中尽可能多地挑若干人
    * ,但有以下限制条件:
    * A和B两人中至少去一人;  0   1
    * A和D不能一起去;
    * A、E和F三人中要派两人去;
    * B和C都去或都不去;
    * C和D两人中去一个;
    * 若D不去,则E也不去。
    * 问应当让哪几    个人去?
    *    *
    for (var a=0;a<=1;a++){
       for (var b=0;b<=1;b++){
           for (var c=0;c<=1;c++){
               for (var d=0;d<=1;d++){
                   for (var e=0;e<=1;e++){
                       for (var f=0;f<=1;f++){
                           if (a+b>=1&&a+d!==2&&a+e+f===2&&b===c&&c+d===1&&((d===0&&e===0)||(d===1&&d+e>=1))){
                               console.log(a,b,c,d,e,f)
                           }

                       }
                   }
               }
           }
       }
    }*/
    /*六、五个小朋友排成一队。      5
    问第一个多大了,第一个说比第二个大两岁,      a b c d e       a>b   a-b=2         a=17
    问第二个,第二个说比  第三个大三岁,以此类推。             b>c      b-c=3    c=12   b=15
    问第五个小朋友几岁了,                                              c-d=4  d-e=5    e=3   d=8
    第五个小朋友说3岁了。                                                e=3
    问第一个小朋友几岁?                                            console.log(a)

    var a=3;
    for (var i=5;i>1;i--){
        a+=i
    }
    console.log(a)   */
    /*七、凑钱1,2,5凑20元钱有多少种可能

    for (var a=1;a<20;a++){
        for (var b=1;b<20;b++){
            for (var c=1;c<20;c++){
                if (a+2*b+5*c===20){
                    console.log(a,b,c)
                }
            }
        }
    }*/
    /*八、公鸡5元每只,
    母鸡3元每只,
    小鸡3只1元,
    100元买一百只鸡多少种办法
    var f=0;
    for (var a=1;a<100;a++){
        for (var b=1;b<100;b++){
            for (var c=1;c<100;c++){
                if (5*a+3*b+(1/3)*c===100 &&a+b+c===100){
                    f++;
                    console.log(a,b,c,f+‘种‘)
                }
            }
        }
    }*/
    /*
    * 九、有一个卡车司机肇事后想逃跑,
    但是被三个人看见其车牌号码,但是没有看全。
    科比说:车牌的前两位是一样的;
    乔丹说:车牌的后两位是一样的,但是与前两位不一样;
    詹姆斯说:车牌是一个数字的平方,
    请编写一个程序计算车辆号牌是多少(车辆号牌是4位数)。
    *
    **/
    /* for (var a = 0; a < 10; a++) {
         for (var b =0; b < 10; b++) {
             for (var c =0; c < 10; c++) {
                 for (var d =0; d < 10; d++) {
                     if (a === b && c === d && c !== a ){
                         for (var i=1;i<100;i++){
                             if (a*1000+b*100+c*10+d===i*i){
                                 console.log(a*1000+b*100+c*10+d)
                             }
                         }
                     }
                 }
             }
         }
     }
     for(i=1000;i<10000;i++){
         var gg=i%10,ss=Math.floor(i/10%10),bb=Math.floor(i/100%10),qq=Math.floor(i/1000);
         for (var j=1;j<i;j++){
             if (j===i*i&&gg === ss && bb ===qq&& gg !== bb){
                 console.log(i)
             }
         }
     }*/
    /*
    * 十、编写一个十六进制转十进制的方法
    * 十进制 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
    * 十六进 0 1 2 3 4 5 6 7 8 9  a  b  c  d  e  f
    *
    function fn(par) {
        var arr = par.split(‘‘);//[2,a,f]
        var sum = 0;
        for (var i = 0; i < arr.length; i++) {
            switch (arr[i]) {
                case ‘a‘:
                    arr[i] = 10;
                    break;
                case ‘b‘:
                    arr[i] = 11;
                    break;
                case ‘c‘:
                    arr[i] = 12;
                    break;
                case ‘d‘:
                    arr[i] = 13;
                    break;
                case ‘e‘:
                    arr[i] = 14;
                    break;
                case ‘f‘:
                    arr[i] = 15;
                    break;
            }
           //
            //arr = String(par);//将m转换成字符串并生成数组
            //var x = arr.length;

        }
        //for (var j = 0; j <arr.length; j++) {
        //    sum += arr[j]* Math.pow(16,arr.length-1-j );
        //}
        for (var j = 0; j <arr.length; j++) {
            sum += arr[j]* fun(arr.length-1-j );
        }

        return console.log(sum)
    }
     console.log(fn(‘2af‘));
    function fun(n) {
        if (n<0){
            return 1/16;
        }
        return fun(n-1)*16
    }
    /*function num(a,b){

         document.write(Number(sum));
     }
     console.log(num(1455,12));
     function hexToDec(hex) {
         var result = 0, digitValue;
       //  hex = hex.toLowerCase();
         for (var i = 0; i < hex.length; i++) {
             digitValue = ‘0123456789abcdef‘.indexOf(hex[i]);
             result = result * 16 + digitValue;
         }
         return result;
     }

     console.log(hexToDec(‘84fa‘));   //5 * 16 *16  +10*16 +15
    //    8*16*16*16+4*16*16+15*16+10
    //120    1*10*10 +  2*10 + 0
    */
    /*
    *十一、大家都知道,男大当婚,女大当嫁。
    * 那么女方家长要嫁女儿,当然要提出一定的条件:
    * 高:180cm以上; 富:1000万以上;       x=180    y=1000
    * 帅:500以上;如果这三个条件同时满足,  z=500
    * 则:‘我一定要嫁给他’如果三个条件只符合两个,
    * 则:‘虽不是最好,但也还可以’如果三个条件只满足一个,
    * 则:‘嫁吧,比上不足,比下有余。’
    * 如果三个条件都不满足,则:‘宁死不嫁!’
    * */
    function fun(h,f,s) {
        if (h>180&&f>1000&&s>500){
            return ‘我一定要嫁给他‘
        }else if (h>180||f>1000|| s>500){
            return ‘嫁吧,比上不足,比下有余。‘
        }else if ((h>180&&f>1000)|| (h>180&&s>500)|| (f>1000&&s>500)){
            return ‘虽不是最好,但也还可以‘
        }else{
            return ‘宁死不嫁‘
        }
    }
    console.log(fun(45645,5464,45646));

    /*
    * 十二、东方航空从北京飞往马尔代夫的机票原价为4000元,
    * 4到10月份为旺季 其他月份为淡季,
    * 旺季时候头等舱打9折,经济舱打7.5折;
    * 淡季头等舱打6折, 经济舱打3折。
    * 从页面输入出行的月份
    * 和选择的舱型
    * 计算出机票价格
    *
    var num = prompt(‘输入一个月份‘);
    var jc = prompt(‘输入机舱类型‘);
    var b = 4000;*/
    /* if (num >= 4 && num <= 10) {
         console.log ((jc === ‘头等舱‘)? (‘头等舱‘ + b * 0.9 + ‘元‘):
             (jc === ‘经济舱‘)?(‘经济舱‘ + b * 0.75 + ‘元‘):‘‘)
     /!* if (jc === ‘头等舱‘) {
          console.log(‘头等舱‘ + b * 0.9 + ‘元‘);
      } else if (jc === ‘经济舱‘) {
          console.log(‘经济舱‘ + b * 0.75 + ‘元‘)
      }*!/
     } else {
         console.log(
             (jc === ‘头等舱‘)?(‘头等舱‘ + b * 0.6 + ‘元‘):
                 (jc === ‘经济舱‘)? (‘经济舱‘ + b * 0.3 + ‘元‘):‘‘)
         /!*if (jc === ‘头等舱‘) {
             console.log(‘头等舱‘ + b * 0.6 + ‘元‘);
         } else if (jc === ‘经济舱‘) {
             console.log(‘经济舱‘ + b * 0.3 + ‘元‘)
         }*!/
     }
     console.log (
         (num >= 4 && num <= 10)?
         ((jc === ‘头等舱‘)? (‘头等舱‘ + b * 0.9 + ‘元‘): (‘经b济舱‘ + b * 0.75 + ‘元‘)):
          ((jc === ‘头等舱‘)?(‘头等舱‘ + b * 0.6 + ‘元‘): (‘经济舱‘ + b * 0.3 + ‘元‘))
     );
     console.log (
         (num >= 4 && num <= 10)?
         (b*(jc === ‘头等舱‘)? 0.9:0.75):
         (b*(jc === ‘头等舱‘)? 0.6:0.3)
     );*/
    /*十七、求和:实现1!+2!+3!+4!+5!
    *
    *
    function sum(n) {
        if (n<=1){
            return 1
        }
        return  sum(n-1)*n
    }
    console.log(sum(5));
    var z=0;
    for (var i=1;i<6;i++){
        z+=sum(i)
    }console.log(z)*/
    /*十六、求和,实现 1+(1+2)+(1+2+3)+(1+2+3+4)+(1+2+3+4+5)=35
    function fn(n) {
        if (n<=1){
            return 1
        }
        return fn(n-1)+n
    }
    var sum=0;
    for (var i=1;i<6;i++){
        sum+=fn(i)
    }
    console.log(sum)*/
    /*十九、输入一个数字,然后判断是否为正整数,
    如果不是,提示重新输入;
    如果是,将该数字左右反转,
    然后输出
    (例如:12345,翻转之后为54321)

    function fn() {
        var num = prompt(‘输入一个数字‘);
        var a = parseInt(num % 10);
        var b = parseInt(num / 10 % 10);
        var c = parseInt(num / 100 % 10);
        var d = parseInt(num / 1000 % 10);
        var e = parseInt(num / 10000);
        var arr = num.split(‘‘);
        var boo=true;
        for (var i = 0; i < arr, length; i++) {
            if (arr[i] === ‘.‘) {
                alert(‘重新输入正整数‘);
                boo = false;
            }
        }
        if (num > 0 && boo) {
            alert(‘正整数‘);
             num.length === 0 ? console.log(a) :
                num.length === 1 ? console.log(a, b) :
                    num.length === 2 ? console.log(a, b, c) :
                        num.length === 3 ? console.log(a, b, c, d) :
                            num.length === 4 ? console.log(a, b, c, d, e) : ‘‘
        }

    }
    fn()*/
    /*二十、输入某年某月某日,判断这一天是这一年的第几天?
    for (var i=1;i<365;i++){

    }
    var day,month,year,sum,leap;
    year=Number(prompt(‘输入年‘));
    month=Number(prompt(‘输入月‘));
    day=Number(prompt(‘输入日‘));
    switch(month){
        case 1:sum=0;break;
        case 2:sum=31;break;
        case 3:sum=59;break;
        case 4:sum=90;break;
        case 5:sum=120;break;
        case 6:sum=151;break;
        case 7:sum=181;break;
        case 8:sum=212;break;
        case 9:sum=243;break;
        case 10:sum=273;break;
        case 11:sum=304;break;
        case 12:sum=334;break;
        default:console.log(‘输入错误,请输入1-12之间的数‘);break;
    }
    sum+=day;
    if(year%400===0||(year%4===0&&year%100!==0)){
        leap=1;
    }else{
        leap=0;
    }
    if(leap===1&&month===2){
        sum++;
    }
    console.log(sum);*/
    /*var year = Number(prompt());
    var month = Number(prompt());
    var days = Number(prompt());
    var is31 = [1, 3, 5, 7, 8, 10, 12];
    var is30 = [4, 6, 9, 11];
    var count1 = 0;
    var count2 = 0;
    var eryue = 28;
    if (year % 400 === 0 || (year % 4 === 0 && year % 100 !== 0)) {
        eryue = 29
    }
    for (var i = 0; i < is31.length; i++) {
        if (is31[i] < month) {
            count1++;
        }
    }
    for (var j = 0; j < is31.length; j++) {
        if (is30[j] < month) {
            count2++;
        }
    }
    console.log(‘今天是‘ + year + ‘年第‘ + (month > 2 ? (count1 * 31 + count2 * 30 + eryue + days) :
        (count1 * 31 + count2 * 30 + days)) + ‘天‘)*/
    /*十三、输入一个时间,
    输出这个时间的下一秒如:
    输入:23:59:59
    输出: 0: 0: 0
    function num(n){
        if(n<10){
            return ‘0‘+n
        }
        else {
            return ‘‘+n
        }
    }
    var hh = prompt(‘输入一个时间‘) * 1;
    var ff = prompt(‘输入一个时间‘) * 1;
    var ss = prompt(‘输入一个时间‘) * 1;
    ss++;
    if (ss===60){
        ss=0;
        ff++;
        if (ff===60){
            ff=0;
            hh++;
            if (hh===24){
                hh=0
            }
        }
    }
    console.log(num(hh)+‘:‘+num(ff)+‘:‘+num(ss))*/
    /*十四、已知两个矩形,宽高分别是200*200,400*400,
    甲矩形的坐标是x1,y1.
    乙矩形的坐标是x2,y2.
    写出判断条件两个矩形是否相碰撞

    var x1=200,y1=200,x2=400,y2=400;
    if (){
        console.log(‘会‘)
    }*/
    var x1=200;//自己随意定义坐标
    var x2=200;
    var y1=400;
    var y2=400;

    var bool=true;//先定义一个布尔值为false

    if(x1>=x2 && x1<=x2+400 && y1>=y2 && y1<=y2+400){
        bool=false;
    }else if(x1+200>=x2 && x1+200<=x2+400 && y1>=y2 && y1<=y2+400){
        bool=false;
    }else if (x1>=x2 && x1<=x2+400 && y1+200>=y2 && y1+200<=y2+400){
        bool=false;
    }else if(x1+200>=x2 && x1+200<=x2+400 && y1+200>=y2 && y1+200<=y2+400){
        bool=false;
    }
    if(bool){
        document.write("碰撞了");
    }else {
        document.write("没有碰撞");
    }
</script>
</body>
</html>

仅供参考哦!!!

原文地址:https://www.cnblogs.com/punisher999/p/12063688.html

时间: 2024-10-31 12:02:17

一些编程题,记录的相关文章

编程题:功能:将5个学生记录输入文件d:\stu1.txt中,并且显示在屏幕上。

编程题:文件读写fprintf().fscanf()使用,功能:将5个学生记录输入文件d:\stu1.txt中,并且显示在屏幕上. #include<stdio.h> void main() { FILE *fp;long num;int n,score;char name[20]; int N=5; fp=fopen("d:\\s tu1.txt","w"); for(n=1;n<=N;n++) { scanf("%s%10ld%d&q

POJ C++程序设计 编程题#10:输出指定结果二

编程题#10:输出指定结果二 来源: 北京大学在线程序评测系统POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 总时间限制: 1000ms 内存限制: 1024kB 描述 通过填空使得程序输出的结果符合下面的要求. #include <iostream> #include <map> using namespace std; // 在此处补充你的代码 int A::count = 0; void func(B b) { } int mai

POJ C程序设计进阶 编程题#5:细菌分组实验

编程题#5:细菌实验分组 来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 注意: 总时间限制: 1000ms 内存限制: 65536kB 描述 有一种细菌分为A.B两个亚种,它们的外在特征几乎完全相同,仅仅在繁殖能力上有显著差别,A亚种繁殖能力非常强,B亚种的繁殖能力很弱.在一次为时一个 小时的细菌繁殖实验中,实验员由于疏忽把细菌培养皿搞乱了,请你编写一个程序,根据实验结果,把两个亚种的培养皿重新分成两组. 输入 输入有多行,第一行为整数n(

腾讯2016校招编程题【PHP实现】

2016腾讯春招的编程题 话不多说,直接上题!!! 给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串.如何删除才能使得回文串最长呢?输出需要删除的字符个数 . 这道题是以回文为载体,考察两个字符间的最大子串,最大子串算法在表示字符串的关联度上用途很广泛. 而遮到题就是字符串的长度减去其和翻转字符串的长度的最大子串即可.最长子串的算法我一开始也是蒙的.这完全没没思路呀. 后来看到一篇blog,才明白最长子串,好的,最后我们形成代码 代码实现: function solution

美团点评2017秋招笔试编程题

美团点评2017秋招笔试编程题 1, 大富翁游戏,玩家根据骰子的点数决定走的步数,即骰子点数为1时可以走一步,点数为2时可以走两步,点数为n时可以走n步.求玩家走到第n步(n<=骰子最大点数且是方法的唯一入参)时,总共有多少种投骰子的方法. 题解: 写出前面的几个, 1 -> 1;   2 -> 2 ;  3 -> 4;   4 -> 8; 5 -> 16; 6 -> 32; 可以得到是 二的 n-1 次幂. #include <cstdio> int

c++primerplus(第六版)编程题——第4章(复合类型)

声明:作者为了调试方便,每一章的程序写在一个工程文件中,每一道编程练习题新建一个独立文件,在主函数中调用,我建议同我一样的初学者可以采用这种方式,调试起来会比较方便. (具体方式参见第3章模板) 1.编写一个程序,如下述输出示例所示的那样请求显示信息:(注意:该程序应该接受的名字包含多个单词,另外,程序将向下调整成绩,即向上调一个字母.假设用户请求A.B 或C,所以不用担心D和F之间的空档.) #include <iostream> #include <string> #inclu

上机操作编程题

一.写一个简单的缓存系统 1 package com.wisezone.demo; 2 3 import java.util.HashMap; 4 import java.util.Map; 5 /** 6 * 上机操作: 7 * 面试题--写一个简单的缓存系统 8 * @author 王东海 9 * @2017年6月5日 10 */ 11 public class CacheDemo 12 { 13 private Map<String, Object> map = new HashMap&

蘑菇街2016研发工程师在线编程题

传送门 第一题: [编程题] 搬圆桌 现在有一张半径为r的圆桌,其中心位于(x,y),现在他想把圆桌的中心移到(x1,y1).每次移动一步,都必须在圆桌边缘固定一个点然后将圆桌绕这个点旋转.问最少需要移动几步. 输入描述: 一行五个整数r,x,y,x1,y1(1≤r≤100000,-100000≤x,y,x1,y1≤100000) 输出描述: 输出一个整数,表示答案 输入例子: 2 0 0 0 4 输出例子: 1 题解转自:ixiaomo 思路很简单,千万别想复杂了 无论圆桌如何移动,都必须在圆

小米2015笔试编程题

小米2015笔试编程题 1.[编程题] 懂二进制 时间限制:1秒 空间限制:32768K 世界上有10种人,一种懂二进制,一种不懂.那么你知道两个int32整数m和n的二进制表达,有多少个位(bit)不同么? 输入例子1: 1999  2299 输出例子1: 7 分析:第一步求这两个数的异或,得到一个新的数,相同位是0,不同位是1:第二步采用位运算求这个数里边1的个数即为结果 1 class Solution { 2 public: 3 /** 4 * 获得两个整形二进制表达位数不同的数量 5

腾讯编程题

这是一个腾讯笔试的编程题: 我们常常会用到一个LCS的问题,本题的唯一的一个巧妙之处在于,最后求解的字符串变为的是原来的字符串与其reverse之后的字符串的最大LCS,这样本题就得到了解决. 最长公共子序列求解:递归与动态规划方法 在做OJ题目的时候,经常会用到字符串的处理.例如,比较二个字符串相似度.这篇文章介绍一下求两个字符串的最长公共子序列. 一个字符串的子序列,是指从该字符串中去掉任意多个字符后剩下的字符在不改变顺序的情况下组成的新字符串. 最长公共子序列,是指多个字符串可具有的长度最