任务二:寻找吸血鬼数
打印所有4位吸血鬼数和它们的獠牙
 
提示:一共有7个;
吸血鬼数:
-该鬼的位数为偶数;
-该数的所有位中。是0的位少一半;
-该数每一位上的数字重新组合为两个位数相等的数,乘积正好等于该数。
例如:1260是吸血鬼数,他的獠牙是21和60.
-1260是4位数,4是偶数;
-1260中。是0的位数只有1个。少于一半’
-1260可以重新组合成21和60,这俩个数的位数想等都是2,21*60正好是1260。
 1 function findVampireNumbers() {
2 let sum = 0; // 记录找到的吸血鬼数的组数
3
4 for (let i = 10; i < 100; i++) { // 第一个两位数
5 for (let j = i + 1; j < 100; j++) { // 第二个两位数,大于第一个数
6 let i_val = i * j; // 计算两个两位数的乘积
7 if (i_val < 1000 || i_val > 9999) continue; // 排除乘积不是四位数的情况
8
9 let ar_str1 = Array.from(String(i_val)); // 将乘积转换为字符数组
10 let ar_str2 = Array.from(String(i) + String(j)); // 将两个两位数拼接后转换为字符数组
11 ar_str1.sort(); // 对乘积的字符数组进行排序
12 ar_str2.sort(); // 对拼接后的字符数组进行排序
13
14 if (JSON.stringify(ar_str1) === JSON.stringify(ar_str2)) {
15 // 如果排序后的字符数组相等,则找到一组吸血鬼数
16 sum++;
17 console.log(`第${sum}组: ${i}*${j}=${i_val}`);
18 console.log(`吸血鬼是${i_val},獠牙是${i}、${j}`);
19 }
20 }
21 }
22
23 console.log(`共找到${sum}组吸血鬼数`);
24 }

代码解释:

这段代码用于寻找吸血鬼数。
函数findVampireNumbers中:
初始化变量sum为0,用于记录找到的吸血鬼数的组数。
使用两个嵌套的for循环遍历所有可能的两位数。
在循环中,计算两个两位数的乘积并存储在变量i_val中。
如果乘积不是四位数(范围在1000到9999之外),则继续下一轮循环。
将乘积转换为字符数组ar_str1,将两个两位数拼接后转换为字符数组ar_str2。
对字符数组进行排序。
如果排序后的字符数组相等,则找到一组吸血鬼数。增加sum的值,并打印出组号、乘法表达式和吸血鬼数。
循环结束后,打印出总共找到的吸血鬼数的组数。
通过这段代码,我们可以寻找并打印出所有满足条件的吸血鬼数及其组合。
 

算法2:寻找吸血鬼数(JS)的更多相关文章

  1. 九度OJ 1214 寻找丑数【算法】

    题目地址:http://ac.jobdu.com/problem.php?pid=1214 题目描述: 把只包含因子2.3和5的数称作丑数(Ugly Number).例如6.8都是丑数,但14不是,因 ...

  2. [经典算法题]寻找数组中第K大的数的方法总结

    [经典算法题]寻找数组中第K大的数的方法总结 责任编辑:admin 日期:2012-11-26   字体:[大 中 小] 打印复制链接我要评论   今天看算法分析是,看到一个这样的问题,就是在一堆数据 ...

  3. Java求吸血鬼数算法(通用)

    /*吸血鬼数字是指位数为偶数的数字,可以由一 * 对数字相乘而得到,而这对数字各包含乘积的一半位数的数字, * 其中从最初的数字中选取的数字可以任意排序. * 以两个0结尾的数字是不允许的. * * ...

  4. 前端与算法 leetcode 1. 两数之和

    目录 # 前端与算法 leetcode 1. 两数之和 题目描述 概要 提示 解析 解法一:暴力法 解法二:HashMap法 算法 传入[1, 2], [11, 1, 2, 3, 2]的运行结果 执行 ...

  5. 基于visual Studio2013解决面试题之0701寻找丑数

     题目

  6. 算法训练 K好数

      算法训练 K好数   时间限制:1.0s   内存限制:256.0MB 问题描述 如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数.求L位K进制数中K好数 ...

  7. 【微收藏】FourShadows.js – 时间感知的算法驱动的图标阴影JS库

    废话一箩筐,筐筐有心得 不小心养成了一个刷微博的习惯,主要还是关注一些前端人士,学习一些前端方面的知识,看到大家都有一些刷微博的小习惯.有的是转发一下,转发内容来一个标记(MARK).也有评论中标记为 ...

  8. 算法训练 K好数 解析

    算法训练 K好数 时间限制:1.0s 内存限制:256.0MB 提交此题 锦囊1 锦囊2 问题描述 如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数.求L位K ...

  9. 实现一个算法,寻找字符串中出现次数最少的、并且首次出现位置最前的字符 如"cbaacfdeaebb",符合要求的是"f",因为他只出现了一次(次数最少)。并且比其他只出现一次的字符(如"d")首次出现的位置最靠前。

    实现一个算法,寻找字符串中出现次数最少的.并且首次出现位置最前的字符如"cbaacfdeaebb",符合要求的是"f",因为他只出现了一次(次数最少).并且比其 ...

  10. P1820 寻找AP数

    P1820 寻找AP数两个性质,分解质因数后,连续,且指数递减,dfs就完了 #include <iostream> #include <cstdio> #include &l ...

随机推荐

  1. 深入理解 Istio 流量管理的超时时间设置

    环境准备 部署 httpbin 服务: kubectl apply -f samples/httpbin/httpbin.yaml 部署 sleep 服务: kubectl apply -f samp ...

  2. Python爬虫(二):写一个爬取壁纸网站图片的爬虫(图片下载,词频统计,思路)

    好家伙,写爬虫   代码: import requests import re import os from collections import Counter import xlwt # 创建Ex ...

  3. Linux系统运维之MYSQL数据库集群部署(主主互备)

    一.介绍 既然是部署MYSQL高可用集群环境,就要介绍下MYSQL Replication,MYSQL Replication是MYSQL自带的一个主从复制功能,也就是一台MYSQL服务器向另外一台M ...

  4. 楠少音乐盒(PC端)突破校园网限制

    楠少音乐盒 突破校园网限制 最近在将音乐盒从web迁移到PC端,过程中的记录 在我们学校,工作时间内(周一至周五为工作日,下午上班时间)校园网都会拦截一些与工作无关的网站,例如购物.炒股.游戏.音乐等 ...

  5. C#中IsNullOrEmpty和IsNullOrWhiteSpace的使用方法有什么区别?

    前言 今天我们将探讨C#中两个常用的字符串处理方法:IsNullOrEmpty和IsNullOrWhiteSpace.这两个方法在处理字符串时非常常见,但是它们之间存在一些细微的区别.在本文中,我们将 ...

  6. vue3中父组件与组件之间参数传递,使用(defineProps/defineEmits),涉及属性传递,对象传递,数组传递,以及事件传递

    Vue3 中子父组件之间的通信 一.父组件传递参数到子组件 采用defineProps 传递属性 父组件: <template> <div> <h1>这是父组件&l ...

  7. .net 温故知新【12】:Asp.Net Core WebAPI 中的Rest风格

    RPC RPC(Remote Procedure Call),远程过程调用),这种RPC形式的API组织形态是类和方法的形式.所以API的请求往往是一个动词用来标识接口的意思,比如 https://x ...

  8. 面霸的自我修养:Java线程专题

    王有志,一个分享硬核Java技术的互金摸鱼侠加入Java人的提桶跑路群:共同富裕的Java人 平时我在网上冲浪的时候,收集了不少八股文和面试文,内容虽然多,但质量上良莠不齐,主打一个不假思索的互相抄, ...

  9. React:styled-components有趣的用法

    背景 用于记录一些styled-components的有趣的用法 绑定a标签的链接 编写伪类 在styleComponents中使用参数 传入参数

  10. 从redis未授权访问到获取服务器权限

    从redis未授权访问到获取服务器权限 好久没写博客了,博客园快荒芜了.赶紧再写一篇,算是一个关于自己学习的简要的记录把. 这里是关于redis未授权访问漏洞的一篇漏洞利用: 首先是redis,靶场搭 ...