<!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>
仅供参考哦!!!