java计算任意位水仙花数示例(回文数)
可计算任意位水仙花数
public static void main(String[] args) {
int max = 10;
for (int len = 1; len <= max; len++) {
System.out.println(getNarc(len, ""));
}
}
static StringBuffer strb = new StringBuffer();
static String getNarc(int len, String start) {
for (int basenum = 1; basenum <= 9; basenum++) {
if (len == 2 || len == 1) {
StringBuffer tmpbuf = new StringBuffer();
tmpbuf.append(start);
for (int j = 0; j < len; j++) {
tmpbuf.append(basenum);
}
tmpbuf.append(new StringBuffer(start).reverse().toString());
strb.append(tmpbuf);
strb.append("\n");
// System.out.println(tmpbuf);
} else if (len > 2) {
String nextStr = "";
if (null != start) {
nextStr = start + basenum;
} else {
nextStr = Integer.toString(basenum);
}
getNarc(len - 2, nextStr);
}
}
return strb.toString();
}
相关推荐
-
java计算自幂数和水仙花数
(例如:当n为3时,有1^3 + 5^3 + 3^3 = 153,153即是n为3时的一个自幂数)n为1时,自幂数称为独身数.n为2时,没有自幂数.n为3时,自幂数称为水仙花数.n为4时,自幂数称为玫瑰花数.n为5时,自幂数称为五角星数.n为6时,自幂数称为六合数.n为7时,自幂数称为北斗七星数.n为8时,自幂数称为八仙数.n为9时,自幂数称为九九重阳数.n为10时,自幂数称为十全十美数. 复制代码 代码如下: /* * 自幂数 * 自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等
-
史上最全的java随机数生成算法分享
复制代码 代码如下: String password = RandomUtil.generateString(10); 源码如下: 复制代码 代码如下: package com.javaniu.core.util;import java.util.Random;public class RandomUtil { public static final String ALLCHAR = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRS
-
Java数据结构及算法实例:考拉兹猜想 Collatz Conjecture
/** * 考拉兹猜想:Collatz Conjecture * 又称为3n+1猜想.冰雹猜想.角谷猜想.哈塞猜想.乌拉姆猜想或叙拉古猜想, * 是指对于每一个正整数,如果它是奇数,则对它乘3再加1, * 如果它是偶数,则对它除以2,如此循环,最终都能够得到1. */ package al; public class CollatzConjecture { private int i = 1; public static void main(String[] args) { long l = 9
-
Java求10到100000之间的水仙花数算法示例
本文实例讲述了Java求10到100000之间的水仙花数算法.分享给大家供大家参考,具体如下: 水仙花数: 概念:水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身.(例如:1^3 + 5^3+ 3^3 = 153) 算法思路分析:这个算法我们分两个步骤来进行:第一:我们做一个求一个数的位数的函数:第二:我们通过调用此函数来进行10到100000之间素数的计算! 下面给出具体的代码(仅供参考): package javastudy; public class
-
常用数字签名算法RSA与DSA的Java程序内实现示例
RSA加密算法 我们来回顾一下RSA的加密算法.我们从公钥加密算法和签名算法的定义出发,用比较规范的语言来描述这一算法. RSA公钥加密体制包含如下3个算法:KeyGen(密钥生成算法),Encrypt(加密算法)以及Decrypt(解密算法). 密钥生成算法以安全常数作为输入,输出一个公钥PK,和一个私钥SK.安全常数用于确定这个加密算法的安全性有多高,一般以加密算法使用的质数p的大小有关.越大,质数p一般越大,保证体制有更高的安全性.在RSA中,密钥生成算法如下:算法首先随机产生两个不同大质
-
Java实现分解任意输入数的质因数算法示例
本文实例讲述了Java实现分解任意输入数的质因数算法.分享给大家供大家参考,具体如下: 分解任意输入数的质因数: 质因数概念:任何一个合数都可以写成几个质数相乘的形式.其中每个质数都是这个合数的因数,叫做这个合数的分解质因数.分解质因数只针对合数. 例如:12 = 2x2x3 18 = 2 x 3 x 3等等 下面来讲解一下这个算法的思路:第一:我们首先写一个求素数的函数:第二;我们做一个分解质因数的函数,然后在其中引入素数函数来判断是否为素数: 下面给出代码(仅供参考): package j
-
java数据结构和算法学习之汉诺塔示例
复制代码 代码如下: package com.tiantian.algorithms;/** * _|_1 | | * __|__2 | | * ___|___3 | | (1).把A上的4个木块移动到C上. * ____|____4 | | *
-
java计算自然数中的水仙花数的方法分享
核心代码 /** * m-n自然数中的水仙花数 * @param n * @param m */ static void getNums(int n,int m){ for(int i=m;i<=n;i++){ int ge,shi,bai; double shui; bai=i/100; shi=i%100/10; ge=i%10; shui=Math.pow(bai, 3)+Math.pow(shi, 3)+Math.pow(ge, 3); if(i==shui) System.out.pr
-
Java打印出所有的水仙花数的实现代码
题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方. 程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位. 程序设计: public class exp2{ public static void main(String args[]){ int i=0; math mymath = new
-
java生成抽样随机数的多种算法
本章先讲解Java随机数的几种产生方式,然后通过示例对其进行演示. 概述: 这里你是不是会说,生成随机数有什么难的?不就是直接使用Java封装好了的random就行了么?当然对于一般情况下是OK的,而且本文要说明的这些算法也是基于这个random库函数的. 本文主要是针对抽样这一行为进行的,而抽样本身有一个隐含的规则就是不要有重复数据.好了,有了这些说明.你可以先尝试着用一些自己的想法来实现不重复地生成随机数. 算法尝试: 一些好的算法出现,往往伴随着一些不那么好的算法.但是对于效果不太好的算法
随机推荐
- Python装饰器使用实例:验证参数合法性
- 如何决定是否将登录内容保存到Cookie里?
- bootstrap的常用组件和栅格式布局详解
- redis哈希和集合_动力节点Java学院整理
- mysql之TIMESTAMP(时间戳)用法详解
- JavaScript 异步调用框架 (Part 1 - 问题 & 场景)
- 使用JavaScript实现网页版Pongo设计思路及源代码分享
- Three.js的使用及绘制基础3D图形详解
- 浅谈php错误提示及查错方法
- 使用text-align:justify实现两端对齐一例
- JavaScript对象数组的排序处理方法
- jQuery的Cookie封装,与PHP交互的简单实现
- jQuery简单自定义图片轮播插件及用法示例
- jQuery.position()方法获取不到值的安全替换方法
- jQuery学习笔记之jQuery构建函数的7种方法
- 深入理解JavaScript系列(10) JavaScript核心(晋级高手必读篇)
- javascript判断是否按回车键并解决浏览器之间的差异
- Python的类实例属性访问规则探讨
- 深入了解C++中map用法
- c++ 构造函数中调用虚函数的实现方法