js算法集合(一) ★ 最近有些朋友跟我说对js中的一些算法感到很迷惑,知道这个算法到底是怎么回事,但是就是不会用代码把它写出来,这里我跟大家分享一下做水仙花数的算法的思路,并对其扩展到自幂数的算法,希望能对大家有所帮助.     1.验证一个数是否为水仙花数 ①要写水仙花数的算法,我们首先来了解一下什么是水仙花数,水仙花数是指一个 3位正整数 ,它的每个位上的数字的 3次幂之和等于它本身.(例如:1^3 + 5^3+ 3^3 = 153): ②了解了什么是水仙花数我们就开始分析该怎么下手.通过…
js算法集合(二)  斐波那契数列 ★ 上一次我跟大家分享一下做水仙花数的算法的思路,并对其扩展到自幂数的算法,这次,我们来对斐波那契数列进行研究,来加深对循环的理解.     Javascript实现斐波那契数列 ①要用Javascript实现斐波那契数列,我们首先要了解什么是斐波那契数列:斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列…
问题描述 打印所有100至999之间的水仙花数.所谓水仙花数是指满足其各位数字立方和为该数字本身的整数,例如 =^+^+^. 样例输入 一个满足题目要求的输入范例. 例: 无 样例输出 xxx xxx AC代码: #include <stdio.h> #define X3(x) ((x)*(x)*(x)) /*立方*/ int main(void) { int i; int a,b,c; ; i <= ; i ++) { a = i/; b = i/%; c = i%; if (i ==…
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> </body> </html> <script type="text/javascript"> for(i=100;i<1000;i++){ var a = par…
算法训练 4-3水仙花数   时间限制:1.0s   内存限制:256.0MB 问题描述 打印所有100至999之间的水仙花数.所谓水仙花数是指满足其各位数字立方和为该数字本身的整数,例如 153=1^3+5^3+3^3. 样例输入 一个满足题目要求的输入范例.例:无 样例输出 153xxxxxx   题目解析: 这是一道简单的暴力破解的题目.只需分解出每个三位数的百位.十位和个位,然后计算其三次方是否等于该数即可.   示例代码: public class Main { public stat…
一.水仙花数 1.啥是水仙花数? 水仙花数是指一个 n 位正整数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身.(例如:1^3 + 5^3+ 3^3 = 153) 2.利用JS实现对水仙花数的寻找. 这一次我们寻找水仙花数的方法,是JS中非常基础的while循环.代码如下: si不si很神奇~ 二.斐波那契数列 1.啥是斐波那契数列? 斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔…
概述 在数论中,水仙花数(Narcissistic number),也被称为超完全数字不变数(pluperfect digital invariant, PPDI).自恋数.自幂数.阿姆斯壮数或阿姆斯特朗数(Armstrong number) ,用来描述一个N位非负整数,其各位数字的N次方和等于该数本身. 举例 例如153.370.371及407就是三位超完全数字不变数,其各个数之立方和等于该数: 153 = 13 + 53 + 33. 370 = 33 + 73 + 03. 371 = 33 …
...js   //输入一个三位数,水仙花数就是个位的三次方+十为的三次方+百位的三次方之和等于本身 console.log('请输入一个三位数:'); let a = readline.question(); if (a > 100 && a <= 999) { if (parseInt(a / 100) ** 3 + parseInt(a % 100 / 10) ** 3 + parseInt(a % 10) ** 3 == a) { console.log(parseIn…
什么是水仙花数 水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI).自恋数.自幂数.阿姆斯壮数或阿姆斯特朗数(Armstrong number): 水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153). 怎么输出1000以内的水仙花数 我们已经知道水仙花数的规律 a^3 + b^3+ c^3 = abc,那么,用js代码怎么把1000…
所谓水仙花数是满足类似于153=1³+5³+3³: 第一种方式:把这个数当做字符串来实现 <script> for(var i=100;i<=999;i++) { str_i=i.toString(); var hundred=Number(str_i.charAt(0));//运用charAt(index)函数找百位数 var ten=Number(str_i.charAt(1)); var dig=Number(str_i.charAt(2)); var result=Math.po…
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript"> var num = []; var j = 0; for(var i = 100; i < 1000; i ++){ var iG,…
第一题:用for循环打印三角形 //第一个 for(var x = 1;x <= 4;x++){ //控制行数 :由 1 到 4 for(var y = 1;y <= x;y++){ //控制循环几遍 document.write("*" + " "); //循环几遍就打印出几个 * :由 1 到 4 } document.write("<br />"); } //第二个 for(var x=4;x>=0;x--){…
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script type="text/javascript"> //水仙花数 for (var num = 100; num <= 999; num++) { var str = num…
水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身.(例如:1^3 + 5^3+ 3^3 = 153) <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title><script type="text/javascript"> /…
js描述集合 function Set(){ this.datasource=[]; this.add=add; this.remove=remove; //this.size=size; //this.union=union; //this.intersect=intersect; //this.subset=subset; //this.difference=difference; this.show=show; } function add(data){ if(this.datasourc…
题目:3位数==个位立方+十位的立方+百位的立方.这个3位数就是水仙花数.要求打印出所有的水仙花数 <body> <div id=d1> </div> <script> result='' for(i=100;i<1000;i++){ g=Math.floor(i%10) s=Math.floor(i%100/10) b=Math.floor(i/100) y=g*g*g+s*s*s+b*b*b if(i==y) result+=y+',' } ale…
一个算出任意位数的水仙花数的函数如下: var arr =[]; /*更改num确定取值范围*/ for(var num = 100; num <= 9999;num++){ /*多位数版本*/  var i = 0; /*设置一个数用来存储变量num*/ var suan = num;   do{ /*取出个位*/ arr[i] = suan%10; /*去掉“个位”*/ suan = Math.floor(suan/ 10) ; i++;  }while(suan >= 1 )   var…
这道题有两个方法,第一个就相对来说通俗易懂 第二个可以用到Java的一些方法 public class 水仙花数1 { public static void main(String[] args) { int g,s,b; for(int i=100;i<1000;i++){ g=i/1%10;//个位数字 s=i/10%10;//十位数字 b=i/100%10;//百位数字 if(g*g*g+s*s*s+b*b*b==i){ System.out.println(i); } } } } pub…
public class 水仙花数 { public static void main(String[] args) { for (int i = 100; i < 1000; i++) { int a = i % 10; int b = i / 100; int c = i / 10 % 10; if (a*a*a+b*b*b+c*c*c==i) { System.out.println(i); } } } }…
输出"水仙花数".所谓水仙花是指一个3位数的十进制数,其各位数字的立方和等于该数本身.例如:153是水仙花数. 用for循环实现水仙花数的计算图如下所示: 1 for i in range(100,1000): 2 a = i//100 3 b = (i-a*100)//10 4 c = (i-a*100-b*10) 5 6 if i == pow(a,3)+pow(b,3)+pow(c,3): 7 print(i)…
51Nod:  http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1015   1015 水仙花数 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题   水仙花数是指一个 n 位数 ( n >= 3 ),它的每个位上的数字的 n 次幂之和等于它本身.(例如:1^3 + 5^3 + 3^3 = 153) 给出一个整数M,求 >= M的最小的水仙花数.   Input 一个整数M(10 <…
/* 在控制台输出所有的“水仙花数” 水仙花:100-999 在以上数字范围内:这个数=个位*个位*个位+十位*十位*十位+百位*百位*百位 例如:xyz=x^3 +y^3 +z^3 怎么把三位数字拆成每位整数 思路:百位: int x= i / 100 十位: int y = i / 10 % 10 个位: int z = i % 10 */ class LoopTest3 { public static void main(String[] args) { for (int i=100; i…
水仙花数是指一个n位数(n>=3),它每一个位上数字的n次幂之和等于它本身,n为它的位数.(比如:1^3+5^3+3^3 = 153) 水仙花数又称阿姆斯特朗数. 三位的水仙花数有4个:153,370,371,407 四位的水仙花数有3个:1634,8208,9474 五位的水仙花数有3个:54748,92727,93084 六位的水仙花数有1个:548834 七位的水仙花数有4个:1741725,4210818,9800817,9926315 八位的水仙花数有3个:24678050,24678…
1016 水仙花数 V2 基准时间限制:1 秒 空间限制:131072 KB 分值: 160         难度:6级算法题                水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身.(例如:1^3 + 5^3 + 3^3 = 153,1634 = 1^4 + 6^4 + 3^4 + 4^4). 给出一个整数M,求 >= M的最小的水仙花数.   Input 一个整数M(10 <= M <= 10^60) Output 输出…
//7.求两个整数的最大公约数#include<stdio.h>//用穷举法求出最大公约数int gcd1(int m,int n){ int min = m > n ? n : m; while (min) { if (m%min == 0 && n%min == 0) { break; } else { min--; } } return min;}//快速求最大公约数的算法,称为辗转相除法,以下用递归实现int gcd2(int m,int n){ if (n==0…
前面我们了解了一些常用的排序算法,那么这篇文章我们来看看搜索算法的一些简单实现,我们先来介绍一个我们在实际工作中一定用到过的搜索算法--顺序搜索. 1.顺序搜索 其实顺序搜索十分简单,我们还是以第一篇文章写好的架子作为基础,在其中加入顺序搜索的方法: //顺序搜索 this.sequentialSearch = function(item) { for(var i = 0; i < array.length; i++) { if(item === array[i]) { return i; };…
版权声明: 本文为博主Bravo Yeung(知乎UserName同名)的原创文章,欲转载请先私信获博主允许,转载时请附上网址 http://blog.csdn.net/lzuacm. C++版 - HDUoj 2010 3阶的水仙花数 - 牛客网 时间限制:1秒 空间限制:32768K 热度指数:1005 在线提交(牛客网仅支持C++或Java): https://www.nowcoder.com/questionTerminal/dc943274e8254a9eb074298fb208470…
leetcode-9.回文数(水仙花数) 题意:给定整数,判断是否是水仙花数(回文数),返回判断结果 算法: 1.判断负数, 如果是负数直接返回false 2.将整数逐位拆解,用数组存储 3.遍历数组,若本位与后面对应位不等返回false. Code class Solution { public: bool isPalindrome(int x) { ) return false;//负数,直接返回false +];//数组,用于存储数字每一位 ; bool flag = true; whil…
前面我们了解了一些常用的排序算法,那么这篇文章我们来看看搜索算法的一些简单实现,我们先来介绍一个我们在实际工作中一定用到过的搜索算法——顺序搜索. 1.顺序搜索 其实顺序搜索十分简单,我们还是以第一篇文章写好的架子作为基础,在其中加入顺序搜索的方法: //顺序搜索 this.sequentialSearch = function(item) { for(var i = 0; i < array.length; i++) { if(item === array[i]) { return i; };…
1001 数组中和等于K的数对 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题 给出一个整数K和一个无序数组A,A的元素为N个互不相同的整数,找出数组A中所有和等于K的数对.例如K = 8,数组A:{-1,6,5,3,4,2,9,0,8},所有和等于8的数对包括(-1,9),(0,8),(2,6),(3,5). Input 第1行:用空格隔开的2个数,K N,N为A数组的长度.(2 <= N <= 50000,-10^9 <= K <= 10^9)…