zoukankan      html  css  js  c++  java
  • JS逻辑算法

    1.在calDate()的基础之上添加 计算当前日期的是星期几的功能
    注:设定1900年1月1日为周一

    2判断101-200之间有多少个素数,并输出所有素数。

    3.打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

    4.将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
    程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
    (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
    (2)如果n>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。
    (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

    5.求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。

    6.猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下 的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

    7.有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?

    8.计算用户输入的数字的阶乘,例如用户输入的是5,则计算5的阶乘,5的阶乘为 5*4*3*2*1

    function fun1(){
    //用户输入年
    var year = Number(prompt("请输入年份:"));
    //用户输入月份
    var month = Number(prompt("请输入月份:"));
    //用户输入日期
    var day = Number(prompt("请输入日期:"));
    var totaldays = 0;
    for(var i = 1;i < month; i++){
    switch (i){
    case 1:
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    totaldays += 31;
    break;
    case 2:
    //判断是否是闰年
    if(year % 4==0 && year%100 != 0 || year % 400 == 0){
    totaldays +=29;
    }else{
    totaldays +=28;
    }
    break;
    case 4:
    case 6:
    case 9:
    case 11:
    totaldays += 30;
    break;
    }

    }
    totaldays += day;
    console.log(year+"年"+month+"月"+day+"日"+"是"+ year +"年的第"+totaldays+"天");

    //计算从1900到year-1有多少天
    for(var j=1900; j < year ; j++){
    //判断闰年
    if(j%4 == 0 && j % 100 != 0 || j % 400== 0){
    totaldays +=366;//闰年
    }else{
    totaldays +=365;//非闰年
    }
    }
    console.log("从1900到"+year+"年"+month+"月"+day+"日"+"共" + totaldays +"天");


    //计算这一天是周几
    var week = totaldays % 7;
    var msg = "星期";
    switch(week){
    case 0:
    msg +="日";
    break;
    case 1:
    msg +="一";
    break;
    case 2:
    msg +="二";
    break;
    case 3:
    msg +="三";
    break;
    case 4:
    msg +="四";
    break;
    case 5:
    msg +="五";
    break;
    case 6:
    msg +="六";
    break;
    }
    console.log(year+"年"+month+"月"+day+"日"+msg);
    }
    // fun1();


    // //加上当月的天数
    // totaldays += day;
    // console.log(totaldays);
    // var date = new Date(year,month-1,day);
    // var list = ["日","一","二","三","四","五","六"];
    // console.log("今天是星期"+list[date.getDay()]);

    //
    //2.101到200之间的素数
    function fun2(){
    for(var i = 101;i <= 200;i++){
    var flag = true; //假设是素数
    for(var j =2 ; j < i;j++){
    if(i % j == 0){//如果对2取余等于0,它就不是素数
    flag = false;
    break;
    }
    }
    if(flag){//如果条件成立
    //打印素数
    console.log(i);
    }
    }
    }
    // fun2();
    //求因子的个数,如果大于因子的个数啊、大于二,他就是不是素数;
    // for(var i = 101; i <200 ; i++){
    // var count = 0;
    // for(var j = 2; j < i; j++){
    // if(i % j == 0){
    // count++;
    // break;
    // }
    // }
    // if (count == 0) {
    // console.log(i);
    // }
    // }
    // }

    function fun4(){
    //输入一个正整数
    var n = Number(prompt("请输入一个正整数:"));
    var msg = n +"=";
    for(var k = 2; k <= n;k++){
    //当输入的n对k取余为0
    while(n % k == 0 && n != k){

    // console.log(k);
    msg += (k+"*");
    // 就将n对它的最小公因子除完后,将n质赋给n
    n = n/k;
    }
    if(n == k){
    msg +=n;
    }

    }
    console.log(msg);
    }
    // fun4();


    //3.水仙花数
    function fun3() {
    var a , b , c; //a为百位,b为十位,c为个位
    for(var i = 100; i < 1000; i++){
    a = parseInt(i/100);//百
    b = parseInt((i%100)/10);//十
    c = parseInt(i%10);//个
    if (i == a * a * a + b * b * b + c * c * c ) {
    console.log("水鲜花数有:" + i);
    }
    }
    }
    // fun3();


    //5 a+aa+aaa+aaaa+aaa..a
    function fun5(){
    var a = Number(prompt("请输入一个数:"));//比如 2 +22 +222 .... a 为2

    var n = Number(prompt("请输入一个数:")); //n为几位数相加 比如n=4 则是2+22+222+2222
    var sum = 0;//
    var x = 0;//每一次求得单个数/2/22/222....
    for(var i = 1; i<= n ; i++){
    x = x*10 + a; // 22=2*10+2
    sum +=x ;
    }
    console.log(sum);
    }
    // fun5();

    //6.猴子吃桃
    function fun6(){
    var last = 1;//最后一天的桃子
    var total = 0;//总数量
    for(var i = 9;i>0;i--){
    total =(last +1)*2;
    last = total;
    }
    console.log(total);
    }
    // fun6();

    //7.
    function fun7(){
    var a = 10;//最后一个人多少岁
    var e = 0;
    for(var i = 1; i <= 4;i++){
    e = a + 2;
    a = e;
    }
    console.log(e);
    }
    // fun7();

    //8.阶乘
    function fun8(){
    //接受用户输入一个数
    var input =Number(prompt("请输入一个数:"));
    //最开始令result = 1
    var result = 1;
    for (var i = 1; i <= input; i++){
    result = result * i;
    }
    console.log(input + "阶乘为:" +result);
    }
    // fun8();
    //9.
    function fun9(){
    //接受用户输入一个数
    var n = Number(prompt("输入一个数:"));
    var sum = 0;
    for (var i = 1; i <= n; i++) {
    sum +=1/(2*i-1);//分母为奇数 2*i-1
    }
    console.log(sum);
    }
    // fun9();

  • 相关阅读:
    Nosql介绍
    linux系统安装mysql
    linux下装tomcat教程
    linux系统下安装jdk教程
    XML解析
    XML 可扩展标记语言
    Oracle——子查询
    数据库——Oracle(增删改查,单行函数,多行函数,多表查询)
    Ubuntu16.04Scrapy爬虫定时任务
    大数据——zookeeper分布式集群管理工具的学习与使用
  • 原文地址:https://www.cnblogs.com/zhanghaifeng123/p/11261862.html
Copyright © 2011-2022 走看看