打印水仙花数oracle,javaScript实现回文数、水仙花数判断和输出斐波那契数列

javaScript实现回文数、水仙花数判断和输出斐波那契数列

发布时间:2020-07-22 01:15:37

来源:51CTO

阅读:422

作者:Cynthia_xie

// 判断一个数是不是回文数

// 方法一:先将数字转换成字符串,然后依次判断第一个和最后一个数字,第二个和倒数第二个数字...是否相等

function PalindromeNumber1(num){

var str = num.toString();

var flag = true;

var len = str.length;

for(var i = 0; i 

if( str.charAt(i) != str.charAt(len-i-1) ){

flag = false;

break;

}

}

if(flag){

console.log(num + " 是回文数");

}else{

console.log(num + " 不是回文数");

}

}

PalindromeNumber1(123456321); // 123456321 不是回文数

// 方法二:方法一的另一种写法

function PalindromeNumber2(num){

var str = num.toString();

var flag = true;

var begin = 0, end = str.length - 1;

while( begin 

if(str.charAt(begin) == str.charAt(end)){

begin ++;

end --;

}else{

flag = false;

break;

}

}

if(flag){

console.log(num + " 是回文数");

}else{

console.log(num + " 不是回文数");

}

}

PalindromeNumber2(123456321); // 123456321 不是回文数

// 方法三: 将判断的数倒置,然后判断前后两个数是否相等

function InvertedNumber(num){

var nNum= 0;

while( num != 0){

nNum *= 10;

nNum = nNum + (nNum % 10);

num = Math.floor( num / 10 );

}

return nNum;

}

function PalindromeNumber3(num){

var nNum = InvertedNumber(num);  // 将一个数逆序

if( nNum == num){                // 判断逆置后的数是否和原来的数相同

console.log(num + " 是回文数");

}else{

console.log(num + " 不是回文数");

}

}

PalindromeNumber3(123456321); // 123456321 不是回文数

// 判断一个数是不是水仙花数: 水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。

//  将数组转换成字符串,然后分别加上每个位置上的数n次幂

function NarcissusNumber(num){

var str = num.toString();

var len = str.length;

var result = 0;

for(var i=0; i

result += Math.pow(str.charAt(i), len);

}

if(result == num){

console.log(num + " 是水仙花数");

}else{

console.log(num + " 不是水仙花数");

}

}

NarcissusNumber(153);

// 斐波那契数列: 输出前n个数

/*

斐波那契数列:1、1、2、3、5、8、13、21、34、……

函数:使用公式f[n]=f[n-1]+f[n-2],依次递归计算,递归结束条件是f[1]=1,f[2]=1。

*/

// 递归: 求第n个斐波那契数 ( 方法一 )

function fb1(n){

if( n==1 || n== 2){

return 1;

}

return fb1(n-1) + fb1(n-2);

}

// 输出前n个斐波那契数

function Fibonacci1(num){

console.log(1);

for(var i=2; i <= num; i++){

console.log(fb1(i));

}

}

Fibonacci1(5);

// 非递归: 求第n个斐波那契数 ( 方法二 )

function fb2(n){

var a =1, b =1, result=1;

for(var i =2; i<= n; i++){

result = a + b;

a = b;

b = result;

}

return result;

}

// 输出前n个斐波那契数

function Fibonacci2(num){

console.log(1);

for(var i=1; i 

console.log(fb2(i));

}

}

Fibonacci2(5);

// 非递归:求第n个斐波那契数 ( 方法二 )

function fb3(n){

var result = [1,1];

if( n== 1 || n ==2){

return 1;

}

for(var i = 2; i 

result[i] = result[i-1] + result[i-2];

}

return result[n-1];

}

// 输出前n个斐波那契数

function Fibonacci3(num){

console.log(1);

for(var i=1; i <= num; i++){

console.log(fb3(i));

}

}

Fibonacci3(5);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/408880.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[实战]制作简单的公众号二维码关注图

本文大约 1933 字&#xff0c;阅读大约需要 6 分钟 最近刚刚更换了公众号名字&#xff0c;然后自然就需要更换下文章末尾的二维码关注图&#xff0c;但是之前是通过 windows 自带的画图软件做的&#xff0c;但是之前弄的时候其实还是比较麻烦的&#xff0c;所以我就想作为一名程…

155个建议笔记--建议33:不要覆写静态方法

我们知道在JAVA中可以通过overRide来增强或减弱父类的方法和行为&#xff0c;但覆写是针对非静态方法的&#xff0c;不能针对静态方法&#xff08;也叫类方法&#xff09;&#xff0c;为什么呢&#xff1f;看一下下面的例子&#xff1a; View Code public class OverRideTepubl…

linux初始化进程ppid号,linux基础(十一)--系统初始化的简谈

我们在深入学习linux之前呢首先要了解其的引导加载过程&#xff0c;这样我们就可以在判断一些在系统初始化过程的出现问题的来源&#xff0c;并及时做出处理。这个过程大概分为【开机】——【BIOS】(CMOS)——【grub或者其他引导程序】——【kernel boot】(initrd文件)——【in…

Vim 快速入门

本文大约 5000 字&#xff0c; 阅读大约需要 10 分钟在 Linux 下最常使用的文本编辑器就是 vi 或者 vim 了&#xff0c;如果能很好掌握这个编辑器&#xff0c;非常有利于我们更好的在 Linux 下面进行编程开发。vim 和 viVim是从 vi 发展出来的一个文本编辑器。代码补完、编译及…

(转载)Qt中使用cout输出的方法

&#xff08;转载&#xff09;http://blog.sina.com.cn/s/blog_4f183d960100sdxf.html最近用QT写一个控制台程序&#xff0c;却不能将提示文本输出到屏幕。 cout<<"abcd"正常运行但是屏幕上却没有输出。 解决办法&#xff1a; 在qt的工程文件(.pro文件)中加入以…

linux如何给vm权限,linux – 如何创建一个每个用户的vm被隔离的环境

感谢libvirt的PolicyKit支持,我相信这可以根据您需要的功能来完成.规则可以由您创建,并由PolicyKit ACL作为数据库(文件,服务器等)访问,以获取有关所有者的信息.此外,如果PolicyKit规则具有对数据库的写入权限,则可以在创建VM时将VM分配给各自的所有者,从而自动创建该数据库.它…

Vim快速入门

本文大约 5000 字&#xff0c; 阅读大约需要 10 分钟 在 Linux 下最常使用的文本编辑器就是 vi 或者 vim 了&#xff0c;如果能很好掌握这个编辑器&#xff0c;非常有利于我们更好的在 Linux 下面进行编程开发。 vim 和 vi Vim是从 vi 发展出来的一个文本编辑器。代码补完、编…

linux内核 cpu_die,Linux内核Crash分析

结合上面的知识&#xff0c;看下当内核打印堆栈信息时&#xff0c;都打印了上面信息。下面的打印信息是工作中遇到的一种情况&#xff0c;打印了内核的堆栈信息&#xff0c;PC指针在dev_get_by_flags中&#xff0c;不能访问的内核虚地址为45685516&#xff0c;内核中一般可访问…

javascript设计模式--命令模式

1 <!DOCTYPE html>2 <html>3 <head>4 <title>命令模式</title>5 <meta charset"utf-8">6 </head>7 <body>8 9 <script>10 /**11 * 命令模式12 *13 * 定义&#xff1a;14 * 将一个请求封装为一个对…

linux 全球用户数量,全球Linux用户市场占有率升至2.78%

6月7日下午1点左右&#xff0c;www.w3counter.com终 于发布了今年5月份的统计数字&#xff0c;看起来&#xff0c;该网站为此次发布大概做了不少审定工作&#xff0c;相比以往&#xff0c;拖延了几天才发布。公布的统计数字如下&#xff1a;4月份 5月份XP …

[GAN学习系列] 初识GAN

本文大约 3800 字&#xff0c;阅读大约需要 8 分钟 要说最近几年在深度学习领域最火的莫过于生成对抗网络&#xff0c;即 Generative Adversarial Networks(GANs)了。它是 Ian Goodfellow 在 2014 年发表的&#xff0c;也是这四年来出现的各种 GAN 的变种的开山鼻祖了&#xff…

黑马程序员 java基础之网络编程TCP

TCP网络传输。 客户端和服务端 分别对应着两个对象。 Scoket&#xff08;客户端&#xff09;和ServerSocket&#xff08;服务端&#xff09;。 Socket(String address, int port) 创建一个流套接字并将其连接到指定 IP 地址的指定端口号。 这个客户端在一建立的情况下就去连接…

[GAN学习系列] 初始GAN

本文大约 3800 字&#xff0c;阅读大约需要 8 分钟要说最近几年在深度学习领域最火的莫过于生成对抗网络&#xff0c;即 Generative Adversarial Networks(GANs)了。它是 Ian Goodfellow 在 2014 年发表的&#xff0c;也是这四年来出现的各种 GAN 的变种的开山鼻祖了&#xff0…

linux 端口 established,ubuntu/linux上查看端口使用情况

想查看TCP或者UDP端口使用情况&#xff0c;使用netstat -anp如果有些进程看不见&#xff0c;如只显示”-”&#xff0c;可以尝试sudo netstat -anp如果想看某个端口的信息&#xff0c;使用lsof命令&#xff0c;如&#xff1a;sudo lsof -i :631-bash-3.00# netstat -tlnnetstat…

[资源分享] 吴恩达最新《机器学习训练秘籍》中文版可以免费下载了

本文大约 600 字&#xff0c; 阅读大约需要 2 分钟 吴恩达老师在上个月底宣布终于完成了他最新的书籍《Machine Learning Yearning》的最后几个章节&#xff1a; 而最近这本书也有了免费的完整中文版下载了&#xff0c;中文版的名称是《机器学习训练秘籍》&#xff0c;封面如下…