Java经典案例之“水仙花数”】的更多相关文章

/** * 描述:打印出所有的“水仙花数”,所谓的“水仙花数”是指一个三位数,其各位数字立方和等于该数本身.例如: * 153=1^3+5^3+3^3等... * 分析:利用for循环控制100-999个数,分别解出个位.十位.百位,然后分别将个位.十位.百位的立方和相加 * 看看是否等于该数本身. * 作者:徐守威 */ package com.xushouwei; public class T3 { /** * @param args */ public static void main(S…
什么是自幂数 如果在一个固定的进制中,一个 n 位自然数等于自身各个数位上数字的 n 次幂之和,则称此数为自幂数. 例如:在十进制中,153 是一个三位数,各个数位的3次幂之和为 1^3+5^3+3^3=153,所以 153 是十进制中的自幂数. 在n进制中,所有小于n的正整数都为自幂数,比如2进制中1是自幂数,3 进制中 1 和 2 都是自幂数,4 进制中 1,2 和 3 都是自幂数...... Java pow() 方法扩展 pow() 方法用于返回第一个参数的第二个参数次方. 语法 dou…
package com.llh.demo;/** * 水仙花数 * @author llh * */public class Demo14 {    public static void main(String[] args) {        for (int i = 100; i <= 999; i++) {            //取出每一位上的数            int gum, sum, bum,num;            bum = i/100;            s…
package com.yangzl.basic; /** * 题目:打印出所有的"水仙花数". * 所谓"水仙花数"是指一个三位数, * 其各位数字立方和等于该数本身. * 例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方.   * * @author Administrator * */ /*程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位.*/ public class ShuiXi…
废话不说直接进入正题:传说中的水仙花数就是一个三位数的各个位数的三次方之和就是这个数本身例如153=1*1*1+5*5*5+3*3*3. 好,开始解题:首先,题中已经说了水仙花数是一个三位数,也就是说我们需要定义一个循环在100到1000中一个个来验证它是不是水仙花数: 然后就是核心代码了,凭空想的话很难找到思路,至少对我这个菜鸡来说是这样,那怎么办呢?给题上的例子用起来啊,那问题又来了,怎么把153和等号右边的玩意儿联系起来.153,有1有5还有3,右边也是有1有5还有3:取模运算符吧3%10…
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); } } } }…
/** * 描述:输入一行字符串,并且统计出其中英文字母.空格.数字和其它字符的个数. * 分析:利用for语句,条件为输入的字符不为 '\n ' * 作者:徐守威 */ package com.xushouwei; import java.util.*; public class T7 { public static void main(String[] args) { //输入字符串 System.out.println("请输入您要输入的字符串:"); Scanner sc=ne…
/** * 描述:输入两个正整数m和n,求其最大公约数和最小公倍数.(最大公约数:最大公约数, * 也称最大公因数.最大公因子,指两个或多个整数共有约数中最大的一个.) * (最小公倍数:几个数共有的倍数叫做这几个数的公倍数,其中除0以外最小的一个公倍数, * 叫做这几个数的最小公倍数.) * 分析:可以利用辗转相除法求两个数的最大公约数与最小公倍数.(辗转相除法:两个整数的 * 最大公约数等于其中较小的数和两数的相除余数的最大公约数.例如,252和105的最大公 * 约数是21(252 = 2…
/** * 描述:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. * 分析: * 对n进行分解质因数,应该先找到一个最小的质数k,然后按照下列步骤进行: * (1)如果这个质数恰等于n,这说明分解质因数的过程已经结束,打印出即可 * (2)如果n!=k,但n等被k整除,这应打印出k的值,并用n除以k的商,作为新的正整数,重复执行第一步 * (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步 * 作者:徐守威 */ package com.xushouwei; i…
/** * 描述:任意输入两个数n,m(n<m)判断n-m之间有多少个素数,并输出所有素数. * 分析:素数即质数,除1和本身之外,不能被其他自然数整除的数. * 判断素数的方法为:用一个数分别去除2到sqrt(这个数),如果能被整除,这表明此数不是素数,反之是素数. * 作者:徐守威 */ package com.xushouwei; import java.util.*; public class T2 { /** * @param args */ public static void ma…