用java语言打印出所有的水仙花数

合集下载

Java最新试题及答案

Java最新试题及答案

Java基础习题习题一选择题1、下列java标识符,错误的是(D )A、_sys_varB、$StringC、user_nameD、1_file2、下列不属于基本数据类型的是( B )A、整数类型B、类C、浮点数类型D、布尔类型3、下列声明和赋值语句错误的是C (z声明为float类型,数据6.74567默认为double类型,不能赋值,应该改为float z=6.74567f)A、double w=3.1415;B、String strl=”bye”;C、float z=6.74567D、boolean truth=true;4、隐式类型转换是由按优先关系从低到高的顺序,下列描述正确的顺序为(A )A、char-int-long-float-doubleB、int-long-float-double-charC、long-float-int-double-charD、以上都不对5、下列表示单引号的是(B)A、‘B、\\’C、\\\\’D、‘\\6、下列语句片断中,d的值为:(10)Dint c=3;char a=‘1’char d=(char)(c+a);A、3B、4C、31D、’4’7、关于变量的作用范围,下列说法错误的是(15)AA、异常处理参数作用域为整个类B、局部变量作用域为声明该变量的方法代码段C、类变量作用域为声明该变量的类D、方法参数作用域为传递到方法内代码段8、下列程序test类中的变量c的最后结果为(17)Dpublic class test{public static void main(String args[ ]){int a=10;int b;int c;if(a>50){b=9;}c=b+a;}}A、10B、0C、19D、编译出错9、00101010(&)00010111语句的执行结果为(19)AA、00000010B、11111111C、00111111D、1100000010、已知i为整形变量,关于单目运算++i和i++,下列说法正确的是(20)DA、++i运算将出错B、在任何情况下运行程序结果都一样C、在任何情况下运行程序结果都不一样D、在任何情况下变量i的值都增111、多分支语句switch(表达式){}中,表达式不可以返回哪种类型的值(28)CA、整型B、实型C、接口型D、字符型12、关于while和do-while循环,下列说法正确的是(34)DA、两种循环除了格式不通外,功能完全相同B、与do-while语句不通的是,while语句的循环至少执行一次C、do-while语句首先计算终止条件,当条件满足时,才去执行循环体中的语句D、以上都不对。

题目打印出所有的“水仙花数”,所谓“水仙花数”是指2

题目打印出所有的“水仙花数”,所谓“水仙花数”是指2

printf("order is a--%c\tb--%c\tc--%c\n",i,j,k);
}
}
}
}
❖ 题目:输入两个正整数m和n,求其最大公约数和最小 公倍数。
❖ 程序分析:利用辗除法
❖ GCD(A, B)=GCD(B, A%B)
❖ 当A%B==0时,B即为最大公约数
❖ GCD〔12,18〕=GCD〔18,12〕
#include “stdio.h〞
main()
{int max, next, n;
scanf(“%d〞,&next);
max=next;
/* 第一个数就是最大数 */
for (n=2;n<=10; n++) /* 输入另外的九个数,并依次 {scanf(“%d〞,&next); 比较出最大数 */
if (next>max) max=next; }
printf(“max=%d\n〞, max); /* 打印出最大数 */ }
问题:求出以“9999〞作为结束标志的一组整数的最大数。 例如输入:123 45 5678 34 9999 67 23456,输出结果为 5678,即对9999及其以后的数不作处理。
if (n%i==0) { flag=0; break; } if (flag==1) printf(“该数是素数〞〕;
else printf(“该数不是素数〞); }
❖ 猴子吃桃问题:猴子第一天摘下假设干个桃子,当即 吃了一半,还不瘾,又多吃了一个第二天早上又将剩 下的桃子吃掉一半,又多吃了一个。以后每天早上都 吃了前一天剩下的一半零一个。到第10天早上想再吃 时,见只剩下一个桃子了。求第一天共摘了多少。

java习题

java习题
30、编写程序,要求用递归的方法求解表达式1×2+2×3+3×4+4×5+5×6+6×7+7×8+8×9+9×10的值,并将结果按格式1×2+2×3+3×4+4×5+5×6+6×7+7×8+8×9+9×10=330形式输出。
31、编写程序,利用循环控制语句输出如下数字金字塔图形。
老师3:发送第78份试卷
老师2:发送第77份试卷
老师3:发送第76份试卷
... ...
老师2:发送第1份试卷
/link?url=KMFDbF3z7BnHjFarK85i_30HstIyI98rVWRupXOPDP6DhXV-7HD5e8HOhqD3BMRS9lvU31L-lStKQdcgDMExmbp0lecBEgEmcfC1JIngqX_
8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
32、编写程序,利用线程模拟一段时间内(3分钟)交通信号灯的运行状况,红灯亮10秒,绿灯亮30秒,黄灯亮3秒。
18、已知,s=1-1/2+1/3-1/4+…+1/(n-1)-1/n,编写程序,求n=100时,s的值。
19、利用面向对象知识,用Java语言编写圆类(Circle)和矩形类(Retangle)继承自形状类(Shape),计算周长和面积,并编写测试类测试完成测试。
20、输入某年某月某日,判断这一天是这一年的第几天。计算方法为:h =(q+[26(m+1)/10]+k+[k/4]+[j/4]+5*j)%7,各变量含义如下:(1)h是一个星期中的每一天(0为星期六;1为星期天;2为星期一;3为星期二;4为星期三;5为星期四;6为星期五)(2)q是某月的某一天(3)m是月份(3为三月,4为四月,...,12为十二月)。一月和二月分别记为上一年的13和14月。(4)j是世纪数(即|year/100|)(5)k是世纪的年数(即year%100)。

Java题库及答案

Java题库及答案

Java题库及答案Java程序设计试题及答案(⼀)时间:2012-02-20Java程序设计试题及答案(⼀)⼀、判断题。

判断下列各题是否正确,若正确,在()内打“√”,否则打“×”。

1、Java语⾔具有较好的安全性和可移植性及与平台⽆关等特性。

√2、Java语⾔的源程序不是编译型的,⽽是编译解释型的。

√3、Java语⾔使⽤的是Unicode字符集,每个字符在内存中占8位。

×4、Java语⾔中不同数据类型的长度是固定的,不随机器硬件不同⽽改变。

√6、⼀个类可以实现多个接⼝,接⼝可以实现“多重继承”。

√7、实现接⼝的类不能是抽象类。

×⼆、不定项选择题。

1、编译Java Application源程序⽂件将产⽣相应的字节码⽂件,这些字节码⽂件的扩展名为(B)。

A、javaB、classC、htmlD、exe2、main⽅法是Java Application程序执⾏的⼊⼝点,关于main⽅法的⽅法⾸部,以下(B)项是合法的。

A、public static void main()B、public static void main(String args[])C、public static int main(String[] arg)D、public void main(String arg[])3、关于下⾯代码的说法(C)是正确的?public class Example {public static void main(String[] args) {int[] arr= new int[10];System.out.println(arr[1]);}}A、编译时产⽣错误B、编译时正确,运⾏时将产⽣错误C、输出零D、输出空(null)4、不正确的表达式是(AB)。

A、float a=1.0d;B、 Double a=new Double(1.0)C、byte a = (byte)340;D、 Byte a = 120;5、定义⼀个类名为"MyClass.java"的类,并且该类可被⼀个⼯程中的所有类访问,那么该类的正确声明应为( CD)。

java小程序之水仙花数 (1)

java小程序之水仙花数 (1)

水仙花数【实验目的】1.掌握Java程序的编译过程,以及Java程序面向对象的编写方法2.掌握类的定义与声明3.掌握对象的使用与创建4.掌握构造方法的格式及使用5.理解并熟练运用if else语句实现程序所要求的条件【实验原理】1.依次对一个三位数的每一位数的平方求和,百位数可通过除100取整得到,十位数可通过除10取整得到2.三位数中的最小数是101,最大数是999,所以水仙花数必然存在于101到999之间【实验要求】1.运用Java编写命令行程序2.编译、运行、调试、维护Java程序3.使用for循环结构4.熟练使用Eclipse调试工具进行程序调试【实验步骤】在101到1000之间任取一个数m,m除以100取整得到它的百位数a1,除以100取余再讲余数除以10取整得到它的十位数a2,除以10取余得到它的个位数,依次对这三个数a1,a2,a3的三次方求和,验证是否等于m,若相等,则m为水仙花数,打印出来;反之,则不是水仙花数,不用打印出来。

详细思路如下图所示:【问题与解决方法】问题: 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字 立方和等于该数本身。

例如: 153是一个"水仙花数",因为153=1的三次方+5 的三次方+3的三次方。

程序:package shuixianhuashu;import shuixianhuashu.shuixianhuashu;public class shuixianhuashu{static Boolean isSxh(int m){int a1,a2,a3;a1=m/100;a2=m%100/10;a3=m%10;if (m<3)return false ;else if ( (a1*a1*a1+a2*a2*a2+a3*a3*a3) ==(a1*100+a2*10+a3) )return true ;elsereturn false ;比较m 与 a1^3+a2^3+a3^3若相等,则为水仙花数,输入m}public static void main(String[] args){System.out.println("1000以内的水仙花数:");shuixianhuashu s = new shuixianhuashu();for(int i=101;i<1000;i++)if(s.isSxh(i))System.out.print(i+"\t");}}运行结果:1000以内的水仙花数:153 370 371 407【实验总结】学会了对于一个三位数进行每一位数的分离,同样的,对于任意一位多位数的每一位数也可以运用同样的方式求出。

《Java语言程序设计(一)》课后习题答案解析全集

《Java语言程序设计(一)》课后习题答案解析全集

1.1 指出JAVA语言的主要特点和JAVA程序的执行过程。

答:(1)强类型;(2)编译和解释;(3)自动无用内存回收功能;(4)面向对象;(5)与平台无关;(6)安全性;(7)分布式计算;(8)多线程;程序执行过程如图所示:编写源文件,编译器编译源文件转换成字节码,解释器执行字节码。

1.2 说出开发与运行JAVA程序的重要步骤。

答:(1)编写源文件:使用一个文本编译器,如Edit或记事本,不可以使用Word.将编好的源文件保存起来,源文件的扩展名必须是.java;(2)编译Java源文件:使用Java编译器(javac.exe)编译源文件得到字节码文件;(3)运行Java程序:Java程序分为两类——Java应用程序必须通过Java解释器(java.exe)来解释执行其字节码文件;Java小应用程序必须通过支持Java标准的浏览器来解释执行。

1.3 如何区分应用程序和小应用程序?答:应用程序在与源文件名字相同的类中,有main()方法,该方法代表应用程序的入口; 小应用程序必须有一个Applet类的子类,该类称作主类,必须用public修饰。

1.4 说出JAVA源文件的命名规则。

答:源文件命名规则和类命名规则一样,所有的单词首字母都用大写字母,且必须和源文件的public类同名。

1.6 JAVA语言使用什么字符集?共有多少个不同的字符?答:Java语言使用Unicode字符集,共有65535个字符。

1.7 JAVA语言标识符的命名规则是什么?(1)由字母(包括英文字母、下划线字符、美元字符、文字字符)和数字字符组成(2)限定标识符的第一个字符不能是数字字符(3)不能和关键字重名(4)长度不能超过255个字符1.8 JAVA有那些基本数据类型,它们的常量又是如何书写的?1.9 指出下列内容哪些是JAVA语言的整型常量,哪些是浮点数类型常量,哪些两者都不是。

整型常量: 4)0xABCL,8)003,10)077,12)056L浮点数类型常量:3)-1E-31,5).32E31 13)0.,14).0两者都不是: 1),2),6),7),9),11)第二章运算和语句2.1 Java的字符能参加算术运算吗?可以。

自考04747《Java语言程序设计(一)》编程题全集(50题及答案)

自考04747《Java语言程序设计(一)》编程题全集(50题及答案)

【程序1】ﻫ题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月得兔子总数为多少?ﻫ//这就是一个菲波拉契数列问题public class lianxi01{ﻫpublic staticvoid main(String[]args) {System、out、println("第1个月得兔子对数: 1”);System、out、println("第2个月得兔子对数: 1");intf1= 1,f2 =1,f,M=24;ﻫfor(int i=3;i〈=M; i++){ﻫf= f2;f2= f1+f2;ﻫf1 = f;System、out、println("第”+ i+”个月得兔子对数:"+f2);}ﻫ}ﻫ}【程序2】题目:判断101-200之间有多少个素数,并输出所有素数。

ﻫ程序分析:判断素数得方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不就是素数,反之就是素数。

ﻫpublicclass lianxi02 {ﻫpublic staticvoidmain(String[]args){ﻫint count = 0;ﻫfor(int i=101; i〈200;i+=2){ booleanb=false;for(int j=2; j〈=Math、sqrt(i);j++)ﻫ{ﻫif(i % j == 0){ b = false;break;}ﻫelse { b =true;}ﻫ}ﻫif(b== true) {coun t++;System、out、println(i );}}ﻫSystem、out、println( "素数个数就是: " + count);}}【程序3】ﻫ题目:打印出所有得"水仙花数”,所谓”水仙花数"就是指一个三位数,其各位数字立方与等于该数本身.例如:153就是一个"水仙花数",因为153=1得三次方+5得三次方+3得三次方。

水仙花数

水仙花数

水仙花数水仙花什么是水仙花数春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的:水仙花数是指一个 n 位数( n≥3 ),它的每个位上的数字的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,24678051,88593477…………使用高精度计算,可以得到超过INT类型上限的水仙花数:5: 930845: 927275: 547486: 5488347: 98008177: 42108187: 17417257: 99263158: 246780508: 246780518: 885934779: 1465112089: 9129851539: 4723359759: 53449483610: 467930777411: 3216404965011: 4002839422511: 4267829060311: 4938855060611: 3216404965111: 9420459191411: 4470863567911: 8269391657814: 2811644033596716: 433828176939137016: 433828176939137117: 3587569906225003517: 2189714258761207519: 328958298444318703219: 492927388592808882619: 449812879116462486920: 6310542598859969391621: 44917739914603869730721: 12846864304373139125223: 2790786500997705256781423: 3545259010403169193594323: 2787969489305407447140523: 2188769684112291628885824: 17408800593806529302372224: 188451485447897896036875(为环保起见,24位以上的水仙花数略)理论上,最大的水仙花数不超过34位。

java实验报告-分析

java实验报告-分析

实验报告□实践报告□课程名称:Java语言程序设计实验、实践名称:Java语言基础、数组和字符串编程、Java面向对象程序设计、Java异常处理多线程编程、图形用户界面编程实验、实践地点:致向楼301专业班级:软件1531 学号:2015006446学生姓名:关玉芬指导教师:相洁2017 年1月8日实验一Java语言基础一、实验目的和要求(1) 通过实验,掌握Java语言程序设计的基本方法。

(2) 学会Java语言中标示符的命名、运算符和表达式的应用。

(3) 熟练地掌握Java程序流程控制语句的应用。

二、实验内容1.编写应用程序,计算100(含100)以内所有偶数的和。

2.“水仙花数”是指一个3位数,其个位、十位、百位上的数字的立方和等于该数本身,例如371=33+73+13,因此371是一个水仙花数。

编写程序,求所有的水仙花数。

3.编写一个程序,求1-100间的素数。

4. 有一函数:x (x<1)Y= 3x-2 (1≤x<10)4x (x≥10)写一程序,给定x值,输出y值。

5. 使用for循环语句,编写程序输出以下图案。

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆6.编写程序,输出从公元1900年到2100年所有闰年的年号,每输出5个年号换一行。

判断年是否为闰年的条件是:①若年号可以被4整除,而不能被100整除,则是闰年;②若年号可以被400整除,也是闰年。

三、主要仪器设备使用的计算机惠普:硬件配置Win7、软件环境eclipse四、实验代码1. public class a1 {public static void main(String[] args) {int i,sum=0;for(i=0;i<=100;i++){if(i%2==0)sum+=i;}System.out.println(sum);}}2. public class a2 {public static void main(String[] args) {int i,a,b,c;for(i=100;i<=999;i++){a=i%10;b=(i-a)%100/10;c=(i-b*10-a)/100;if(i==a*a*a+b*b*b+c*c*c){System.out.println(i);}}}}3. public class a3 {public static void main(String[] args) {// TODO Auto-generated method stubfor(int i=2;i<=100;i++) {boolean t = false;for(int j=2;j<i;j++){if(i%j==0){t=false;break;}else {t=true;}}if(t) System.out.print(i+" ");}}}4. public class a4 {public static void main(String[] args) {int i,j;for(i=1;i<=4;i++){for(j=1;j<=((-1)*i+4);j++)System.out.print(" ");for(j=1;j<=(2*i-1);j++)System.out.print("☆");System.out.println();}for(i=3;i>=1;i--){for(j=1;j<=((-1)*i+4);j++)System.out.print(" ");for(j=1;j<=(2*i-1);j++)System.out.print("☆");System.out.println();}}}5. import java.util.*;public class a5 {public static void main(String[] args) {Scanner x=new Scanner(System.in);System.out.println("请输入一个大于1的整数");int i=x.nextInt();System.out.println("你刚才输入的数为"+i);if(i<1) System.out.print("输出结果为"+i);else if (i>=1&&i<10) System.out.print("输出结果为"+(i*3-2));else System.out.print("输出结果为"+i*4);x.close();}}6. package shiyan;public class a6 {public static void main(String[] args) {int i,j=0;for(i=1900;i<=2100;i++){if((i%4==0)&&(i%100!=0)||(i%400==0)){ j++;if(j%5==0)System.out.println(i);else{System.out.print(i);System.out.print(" ");}}}}} 五、实验结果1.2.3.4.5.6.六、讨论、心得初步掌握了Eclipse集成开发环境。

Java基础2—{循环语句(for、while、do...while)、控制跳转语句(br。。。

Java基础2—{循环语句(for、while、do...while)、控制跳转语句(br。。。

Java基础2—{循环语句(for、while、do...while)、控制跳转语句(br。

1、循环语句1.1 for语句(1)for语句的格式:for(初始化表达式语句;判断条件语句;控制条件语句) {循环体语句;}(2)执⾏流程:a:执⾏初始化表达式语句b:执⾏判断条件语句,看其返回值是true还是false如果是true,就继续执⾏如果是false,就结束循环c:执⾏循环体语句;d:执⾏控制条件语句e:回到b继续。

(3)注意事项:初始化表达式语句只执⾏⼀次判断条件语句⽆论简单还是复杂结果是boolean类型。

循环体语句如果是⼀条语句,⼤括号可以省略;如果是多条语句,⼤括号不能省略。

建议不要省略。

1.2 for语句案例演⽰1需求:在控制台输出所有的”⽔仙花数”所谓的⽔仙花数是指⼀个三位数,其各位数字的⽴⽅和等于该数本⾝。

举例:153就是⼀个⽔仙花数。

153 = 1*1*1 + 5*5*5 + 3*3*3 = 1 + 125 + 27 = 153 2代码:3public class Demo01{4public static void main(String[] args) {5int count=0;6for (int i = 100; i <= 999; i++) {7int ge = i / 1 % 10;8int shi = i / 10 % 10;9int bai = i / 100 % 10;10int flowerNumber=ge*ge*ge+shi*shi*shi+bai*bai*bai;11if(flowerNumber==i){12 System.out.println("⽔仙花数是: "+i);13 count++;14 }15 }16 System.out.println("⽔仙花数有"+count+"个");17 }18 }运⾏结果:1.3 while语句1(1)while语句的格式:2 while循环的基本格式:3while(判断条件语句) {4循环体语句;5 }6完整格式:7初始化条件语句;8while(判断条件语句) {9循环体语句;10控制条件语句;11 }12(2)while语句执⾏流程:13 a:执⾏初始化条件语句;14 b:执⾏判断条件语句,看其返回值是true还是false15如果是true,就继续执⾏16如果是false,就结束循环17 c:执⾏循环体语句;18 d:执⾏控制条件语句19 e:回到b继续。

Java实验报告一及作业总结二

Java实验报告一及作业总结二

Java实验报告⼀及作业总结⼆Java实验报告实验⼀ Java开发环境与简单Java程序⼀、实验⽬的(1)熟悉JDK开发环境(2)熟练掌握结构化程序设计⽅法⼆、实验内容1. 打印输出所有的“⽔仙花数”,所谓“⽔仙花数”是指⼀个3位数,其中各位数字⽴⽅和等于该数本⾝。

例如,153是⼀个“⽔仙花数”。

2. 编写Java程序,求13-23+33-43+…+973-983+993-1003的值。

3. 编程求1!+2!+3!+…+20!。

4. 编写Java程序,计算8+88+888+…前10项之和。

5. ⼀个数如果恰好等于它的因⼦之和,这个数就称为完数。

编写程序输出1000以内的所有完数。

6. 编写应⽤程序,输出满⾜1+2+3+…+n<8888的最⼤正整数。

7. 使⽤for循环打印下⾯的图形。

三、实验过程1. 打印输出所有的“⽔仙花数”,所谓“⽔仙花数”是指⼀个3位数,其中各位数字⽴⽅和等于该数本⾝。

例如,153是⼀个“⽔仙花数”。

实验源码:实验结果:1533703714072. 编写Java程序,求13-23+33-43+…+973-983+993-1003的值。

实验源码:实验结果:-5003.编程求1!+2!+3!+…+20!。

实验源码:实验结果:40379134.编写Java程序,计算8+88+888+…前10项之和。

实验源码:实验结果:12866086085. ⼀个数如果恰好等于它的因⼦之和,这个数就称为完数。

编写程序输出1000以内的所有完数。

实验源码:实验结果:6284966. 编写应⽤程序,输出满⾜1+2+3+…+n<8888的最⼤正整数。

实验源码:实验结果:1327. 使⽤for循环打印下⾯的图形。

四、实验总结:觉得还是要多练题,增加⾃⼰的逻辑,解决相关问题。

总结报告:⼀:类的定义:基本⽅式;public static 返回值类型⽅法名(参数类型参数名称,.......){⽅法体; return 返回值;}⽅法的三种调⽤⽅式;注意:void 只能⽤于单独调⽤;要有⼀个更重要的地⽅在学习类的定义的时候,定义成员⽅法的时候与基本⽅法不同,成员⽅法他不需要static关键字,这个要注意!熟悉代码 这⾥说明⼀下什么时候⽤什么时候不⽤static关键字:在定义成员⽅法时不⽤,即因为此时定义的⽅法将要由对象调⽤,⽽不像之前那样与主⽅法⼀起定义在⼀个类当中且由主⽅法直接调⽤。

JAVA开发实战经典-课后习题答案

JAVA开发实战经典-课后习题答案

********* Java 程序设计 *********
*************************************
答案:
public class TestDemo {
public static void main(String[] args) {
System.out.println("*************************************");
A、 2、6、6
B、 4、9、9
C、 4、6、12
D、 3、9、9
12、 以下的 B 能正确表示Java语言中的一个整型常量。
A、 35.d
B、 -20
C、 1,234 D、 "123"
13、 下面的数据类型 D 是float型
A、 33.8
B、 129
C、 89L
D、 8.6F
14、 下列关于自动类型转换的说法中,正确的一个是 B 。
是 *.class 。 7、 布尔型数据类型的关键字是 boolean ,有 true 和 false 两种取值。 8、 整型数可以采用 byte 、 short 、 int 和 long 四种类型表示。 9、 根据占用内存长度的不同将浮点型分为 float 和 double 两种。 10、 Java程序结构分为: 顺序结构 、 分支结构 、 循环结构 三种。 11、 逻辑表达式:true&&false&&true的结果是 false 。 12、 逻辑表达式:!true||false的结果是 false 。 13、 在方法中可以使用 return 语句来结束方法的执行。 14、 方法中的 void 关键字用来表示方法不返回任何值。

C语言期末考试编程题内含代码

C语言期末考试编程题内含代码

倾情奉献---马杰1.打印出所有的“水仙花数”,并按照一行5个的格式输出。

所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。

例如:153是一个“水仙花数”,因为153=1*1*1+5*5*5+3*3*3。

main(){int i,j,k;for(i=1;i<10;i++)for(j=0;j<10;j++)for(k=0;k<10;k++)if( (i*100+j*10+k)==((i*i*i)+(j*j*j)+(k*k*k)))printf("%d%d%d ",i,j,k);getch();}2.求1+2!+3!+...+20!的和#include<stdio.h>int main(){float i,index=1,sum=1;for(i=1;i<=20;i++){index*=i;//保存每一项的阶乘sum+=index;//加上每一项的阶乘}printf("%e\n",sum);return 0;}3.输入一个5位数,判断它是不是回文数。

即12321是回文数,个位与万位相同,十位与千位相同。

#include <stdio.h>#include <string.h>main(){int i,nLen,flag;char num[6];gets(num);nLen =strlen(num);for (i=0;i<nLen/2;i++){flag=0;if (num[i]==num[nLen-i-1])flag =1;}if (flag) puts("回文数");else puts("不是");}4. 求出1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数并并按照一行5个的格式输出。

#include<stdio.h>void fun (int *a, int *n){int i;*n=0;for(i=1;i<=1000;i++)if(( i%7==0 || i%11==0 ) && (!( i%7==0 && i%11==0 ))){a[*n]=i;(*n)++;}}main(){int aa[1000],n,k;fun(aa,&n);for (k=0;k<n;k++)if ((k+1)%10==0) printf("\n");else printf("%5d",aa[k]);}5.编程列出200以内所有的素数,按照一行8个的格式输出,并求出所有素数的平均值,#include<math.h>main(){int m,i,k,n=0;for(m=2;m<=200;m++){k=sqrt(m);for(i=2;i<=k;i++)if(m%i==0) break;if(i>=k+1){printf("%4d",m);n++;}if(n%8==0){printf("\n");}}printf("\n");}6、编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1+1/3+1/5...+1/n#include <iostream.h>#include <string.h>double fun1(double n){double sum=0;double m=0;for(int i=2; i<=n; i+=2){m=1/n;sum+=m;}return sum;}double fun2(double n){double sum=0;double m=0;for(int i=1; i<=n; i+=2){m=1/n;sum+=m;}return sum;}void main(){int num;cin>>num;if(num%2==0){cout<<fun1(num)<<endl;}else{cout<<fun2(num)<<endl;}}7、已知abc+cba=1333,其中a,b,c均为一位数,编程求出满足条件的a,b,c所有组合。

Java打印出所有的水仙花数的实现代码

Java打印出所有的水仙花数的实现代码
} class math {
public int f(int x) {
if(x==1 || x==2) return 1;
else return f(x-1)+f(x-2);
} public boolean iszhishu(int x) {
for(int i=2;i<=x/2;i++) if (x % 2==0 ) re大家关注之前发布的文章。
return true; } public boolean shuixianhua(int x) {
int i=0,j=0,k=0; i=x / 100; j=(x % 100) /10; k=x % 10; if(x==i*i*i+j*j*j+k*k*k) return true; else return false;
程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
程序设计:
public class exp2{ public static void main(String args[]){ int i=0; math mymath = new math(); for(i=100;i<=999;i++) if(mymath.shuixianhua(i)==true) System.out.println(i); }
这篇文章主要介绍了intellijidea20203详细安装教程本文通过图文并茂的形式给大家介绍的非常详细对大家的学习或工作具有一定的参考借鉴价值需要的朋友可以参考下
Java打 印 出 所 有 的 水 仙 花 数 的 实 现 代 码
题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水 仙花数 ",因为153=1的三次方+5的三次方+3的三次方。

西安优看电子java笔试题答案

西安优看电子java笔试题答案

西安优看电子 java 笔试题答案Document serial number 【UU89WT-UU98YT-UU8CB-UUUT-UUT108】1. 有一段 java 应用程序,它的主类名是 a1,那么保存它的源文件名可以是(A )A . B. D.都对2. 在创建对象时必须(B )A.先声明对象,然后才能使用对象B. 先声明对象,为对象分配内存空间,然后才能使用对象C. 先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象D. 上述说法都对3. 在调用方法时,若要使方法改变实参的值,可以( B)A. 用基本数据类型作为参数B. 用对象作为参数和 B 都对和 B 都不对4. Java 语言具有许多优点和特点,哪个反映了 Java 程序并行机制的特点(B )A. 安全性B. 多线性C.跨平台D.可移植5. 以下声明合法的是(B )String s; final static native int w( )double d; final doublehyperbolicCosine( )6 . 以下标识符中哪项是不合法的(B )AB.$double7. 下面哪一个是合法的数组声明和构造语句 (C )A. int[] ages = [100];B. int ages = new int[100];C. int[] ages = new int[100];D. int() ages = new int(100);8. 下列哪种异常是检查型异常,需要在编写程序时声明 ( B)D.IndexOutOfBoundsException9. 一个线程在任何时刻都处于某种线程状态(thread state) ,例如运行状态、阻塞状态、就绪状态等。

一个线程可以由选项中的哪种线程状态直接到达运行状态(D )A.死亡状态B.阻塞状态(对象 lock 池内)C.阻塞状态(对象 wait 池内)D.就绪状态10. 下列哪些语句关于 Java 内存回收的说明是正确的 (B )A.程序员必须创建一个线程来释放内存B.内存回收程序负责释放无用内存C.内存回收程序允许程序员直接释放内存D.内存回收程序可以在指定的时间释放内存对象11. 以下选项中循环结构合法的是( C )(int i<7)GF{ i++;is “+i);}j=3;while(j){j is “+j);}j=0;for(int k=0; j + k !=10; j++,k++){j is “+ j + “k is”+ k);}j=0;do{“j is “+j++);if (j = = 3) {continue loop;}}while (j<10);12. 有以下方法的定义,请选择该方法的返回类型(D )。

在各种编程语言中实现求取水仙花数的方法(非高精度)

在各种编程语言中实现求取水仙花数的方法(非高精度)

在各种编程语⾔中实现求取⽔仙花数的⽅法(⾮⾼精度)在各种编程语⾔中实现求取⽔仙花数的⽅法(⾮⾼精度)。

PHP “⽔仙花数”实现代码<?phpfor ($i=100;$i<1000;$i++) {$m = floor($i/100); //分解出百位$n = floor($i/10)%10;//分解出⼗位$k = floor($i%10);//分解出个位if ($i == ($m*$m*$m+$n*$n*$n+$k*$k*$k)) {echo $i."<br/>";}}>PHP 所有位数理论输出/** * ⽔仙花数为不⼩于3位的数字,每位数字的N次幂的和等于该数字.N为该数字的位数* @name daffodilsNum ⽔仙花数* @param $places ⽔仙花位数 >=3*/function daffodilsNum($places=3){// (0); //设置超时为不限制,如果提⽰30秒超时,可以开启本控制//$begin= (); // 开始时间//定义位数if(!defined('PLACES')) define('PLACES',is_numeric($places)?$places:3);if(PLACES>=3){$min=pow(10,PLACES-1); //选数范围起始位置$max=pow(10,PLACES); //选数范围结束位置//开始选数for($i=$min,$out='';$i<$max;$i++){$sum=0; //当前选数下各个幂值的和$arr= ($i); //以字符串⽅式分割选数for($j=0;$j<PLACES;$j++){//对每个数字作幂操作并累加$sum+=pow($arr[$j],PLACES);if($sum>$i){//如果当前累加已⼤于选数,则跳出循环break;}}if($sum==$i){//如果符合定义,将该数字添加到输出队列$out.=$i.'<br/>';}}//输出队列echo $out;//echo "<br/>".(microtime()-$begin); //输出耗时,当脚本开始时间开启时有效}else{//$this->error('错误的位数'); //提⽰错误的位数}}语⾔的"⽔仙花数"实现代码#include <stdio.h>int main(){int i,d1,hub,transit;for(i=100;i<=9999;++i){for(hub=0 ,transit=i,d1=123; transit!=0;){d1=(transit%10)*(transit%10)*(transit%10);*/hub=hub+d1;transit=transit/10;}if(hub==i) printf("⽔仙花数%d\n",i);}return 0;}PASCAL 实现代码program shuixianhuashu;vara,b,c:integer;beginfor a:=1 to 9 dofor b:=0 to 9 dofor c:=0 to 9 doif a*a*a+b*b*b+c*c*c=100*a+10*b+c then writeln(100*a+10*b+c); end.或:program sxh;var a,b,c,d:integer;beginfor a:=100 to 999 do beginb:=a mod 10;c:=a mod 100 div 10;d:=a div 100;if b*b*b+c*c*c+d*d*d=a then writeln(a);end;end.或program abcd;vara,b,c,i,t:integer;begini:=100;repeata:=trunc(i/100);b:=trunc(i/10)-a*10;c:=i-trunc(i/10)*10;t:=a*a*a+b*b*b+c*c*c;if i=tthen writeln(i,'=',a,'^3+',b,'^3+',c,'^3');i:=i+1until i>999end.Visual Basic 的"⽔仙花数"实现代码Private Sub Command2_Click()Dim i As Integer, a As Integer, b As Integer, c As IntegerFor i = 100 To 999 Step 1a = i \ 100b = (i - 100 * a) \ 10c = i - 100 * a - 10 * bIf a ^ 3 + b ^ 3 + c ^ 3 = i Then Print iNext iEnd SubFORTRAN 的"⽔仙花数"实现代码WRITE(*,30)DO 10 K=100,999IA=K/100IB=MOD(K,100)/10WRITE(*,20)K, IA,IB,IC10 CONTINUE20 FORMAT(5X,4I4)30 FORMAT(5X,18HN=I**3+J**3+K**3) STOPENDC++ 编译器上的⽔仙花数实现代码#include<iostream>using namespace std;int main(){int a,q,w,e;for(a=100;a<1000;++a){q=a/100;w=(a-q*100)/10;e=(a-q*100-w*10);if(a==q*q*q+w*w*w+e*e*e)cout<<a<<"是⽔仙花数"<<endl;};return 0;}python 中实现的代码for i in range(1,10):for j in range(0,10):for k in range(0,10):if i*100+j*10+k==i*i*i+j*j*j+k*k*k:print i*100+j*10+kJava 中实现的代码public class NumberOfDaffodils {public static void main(String[] args) {List<Long> numbers = new ArrayList<Long>(); for(long i = 100; i < Long.MAX_VALUE ; i++){ if(match(i)){numbers.add(i);}}System.out.println(numbers);}private static boolean match(long in) {//统计位数int count = (in+"").length();//记录每位数字long temp = 0;//辗转取余的保存数long num = in;//求和数long sum = 0;for(int i = count ; i > 0 ; i--){temp = num/(long)Math.pow(10,i-1);num = num%(long)Math.pow(10,i-1);sum+=Math.pow(temp,count);}return in == sum;}}C# ASP.N 中的实现代码for (int i = 100; i < 1000; i++){int bai = 0;int shi = 0;bai = i / 100;baiyushu = i % 100;shi = baiyushu / 10;ge = baiyushu % 10;if (i == bai * bai * bai + shi * shi * shi + ge * ge * ge){Console.WriteLine("⽔仙花数:" + i + "<br>");}}补充C#⽔仙花数实现代码(不定位数)/// <summary>/// 判断⼀个数是否是⽔仙花数/// </summary>/// <param name="num">要判断的数</param>/// <returns>判断结果:true-是,false-否</returns>bool isWaterFlower(int num){if (num <= 0){return false;}int temp = num;//将要判断的数值各位上的数字拆开放在集合中ArrayList list = new ArrayList();while (temp > 0){list.Add(temp % 10);temp /= 10;}//判断各位上的数字位数次⽅之后是否等于要判断是数,是的话则为⽔仙花数int sum = 0;foreach (int i in list){int mul = 1;for (int j = 0; j < list.Count; j++){mul *= i;}sum += mul;}return sum == num;}javascript +html 实现可变位数的运算<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>⽆标题⽂档</title><script type="text/javascript">function fun(){//取得参量位数var valnum=parseInt(document.frm.input.value);//求得符合参量位数的最⼤值和最⼩值var highnum=Math.pow(10,valnum)-1;var lownum=Math.pow(10,valnum-1);//输出队列的组成部分var output="共有个数:",res_str="";//a为i分解为的下脚值,num为符合规则的⽔仙花的个数var a=0,num=0;//遍历所有符合参量位数的数for(i=lownum;i<=highnum;i++){//res为⽔仙花数规则值,即n位的数的每位数的n次幂的和,预置为0var res=0;//分解出当前i的每位数并存如//求得⽔仙花数值res=Math.pow(parseInt(new_i[a]),valnum)+res;}//判断符合⽔仙花数的个数,如符合则将⽔仙花数并⼊输出队列if(res==i){num++;res_str=res_str+"<br>"+res;}}//输出队列if(valnum<3){output="你输⼊了⽆效位数!";}else{output=output+num+res_str;}//输出document.getElementById("divnum").innerHTML=output;}</script></head><body><form name="frm"><label>请输⼊⽔仙花的位数(N>=3):</label><input type="text" name="input" value=""> <input value="运算" type="button" onclick="fun()" /></form><div id="divnum" style=" position:absolute;left:100px;width:200px;top:100px;"></div> </body></html>asp 中实现的代码<%dim a,b,c,d,m,n,zi=1for i=100 to 999a=mid(i,1,1)b=mid(i,2,1)c=mid(i,3,1)d=a*a*am=b*b*bn=c*c*cz=d+m+nif z=i thenresponse.write z & "<br>"end ifnext%>Visual FoxPro ⽤表单实现法(只计3位)⽅法⼀,clearfor a=1 to 9for b=0 to 9for c=0 to 9x=a*100+b*10+cif x=a^3+b^3+c^3xendifendforendforendfor⽅法⼆,(1)创建 Form1并添加 Text1与 Command1(2)修改Command1的Caption属性为“计算并显⽰”(3)为Form1添加⽅法sxh(4)修改⽅法sxh代码如下para xx1=int(x%10)x2=int(x/10)%10return .t.elsereturn .f.endif(5)为Command1的编写如下的事件代码:thisform.currentx=thisform.width/2thisform.currenty=thisform.height/2thisform.print("⽔仙花数是:")for m=100 to 999thisform.text1.value=msure=thisform.sxh(m)if sure=.t.thisform.print(str(m,4)+space(3))inkey(0.5)endiffor 延迟=1 to 20000yiru=2008610029endforendforthis.enabled=.f.QBASIC⽔仙花数1—999999之间CLSFOR i = 1 TO 999999e$ = STR$(i)a$ = MID(e$, 1, 1)b$ = MID(e$, 2, 1)c$ = MID(e$, 3, 1)d$ = MID(e$, 4, 1)a = VAL(a$) ANDb = VAL(b$) ANDc = VAL(c$) ANDd = VAL(d$) IF i = a ^ 4 + b ^ 4 + c ^ 4 + d ^ 4 THEN PRINT i;NEXT iENDPB 实现的⽅法(只计3位数)int s,a,b,cfor s=100 to 999a=integer(s/100)b=integer((s - a*100)/10)c=s - integer(s/10)*10if s=a^3+b^3+c^3 thenmessagebox("",s)end ifnextActionScript实现的⽅法(只计3位数)var n:int;var m:int;for (var i:int=1; i<=9; i++) {for (var j:int=1; i<=9; j++) {for (var k:int=1; i<=9; k++) {m=i*100+j*10+k;if (m==i*i*i+j*j*j+k*k*k) {n++;trace(m);}}}}Delphi实现的⽅法(100-999)var a,b,c,d:integer;beginfor a:=100 to 999 doc:=a div 10 mod 10;d:=a mod 10;if b*b*b+c*c*c+d*d*d=a then memo1.Lines.Add(inttostr(a)) endend;MATLAB中实现的⽅法(100-999)for m=100:999m1=fix(m/100);m2=rem(fix(m/10),10);m3=rem(m,10);if m==m1^3+m2^3+m3^3disp(m)endend或者:Mathematica实现⽅法(可现不定位数解)n=Input["请输⼊⼤于2的⾃然数n:"];For[i=10^(n-1),i<10^n-1,i++,If[Total[IntegerDigits^IntegerLength]==i,Print]]添加⼀种C++的算法#include<iostream>#include<cmath>using namespace std;void main(){int a,b,c,e,f,g;double d;b=1;f=0;a=100;e=0;c=g=a;A:do{a/=10;b++;}while(a>10);do{d=g%10;g/=10;e+=pow(d,b);f++;}while(f!=b+1);if(e==c){cout<<c<<"\n";c++;a=g=c;b=1;f=0;e=0;goto A;}else{c++;a=g=c;b=1;f=0;e=0;goto A;}}BASH 脚本实现计算100-999之内数dofor (( b=0; b<10; b++ ))dofor (( c=0; c<10; c++ ))donumber1=$((a*100+b*10+c))number2=$((a**3+b**3+c**3))if [ $number1 -eq $number2 ]; thenecho "Found number $number1"fidonedonedone易语⾔代码求指定范围内⽔仙花数.版本 2.⼦程序取出⽔仙花数, 整数型, , 返回范围内⽔仙花数个数,如果范围过⼤将会⼗分耗时.参数起始数字, 整数型, , 从此数开始判断是否为⽔仙花数.参数结束数字, 整数型, , 此数必须⼤于起始数字.参数保存得到⽔仙花数的数组, 整数型, 可空数组.局部变量数字数组, ⽂本型, , "0".局部变量⽔仙花数, 整数型, , "0".局部变量总和, 整数型.局部变量计次, 整数型.局部变量计次2, 整数型.如果真 (起始数字 > 结束数字)清除数组 (保存得到⽔仙花数的数组)返回 (0).如果真结束.变量循环⾸ (起始数字, 结束数字, 1, 计次).计次循环⾸ (取⽂本长度 (到⽂本 (计次)), 计次2)加⼊成员 (数字数组, 取⽂本中间 (到⽂本 (计次), 计次2, 1))处理事件 ().计次循环尾 ().计次循环⾸ (取数组成员数 (数字数组), 计次2)总和 = 总和 + 求次⽅ (到数值 (数字数组 [计次2]), 取⽂本长度 (到⽂本 (计次)))处理事件 ().计次循环尾 ().如果真 (总和 = 计次)加⼊成员 (⽔仙花数, 计次).如果真结束处理事件 ().变量循环尾 ()保存得到⽔仙花数的数组 = ⽔仙花数返回 (取数组成员数 (⽔仙花数))vb代码判断⽔仙花数Dim a() As Integern = InputBox("请输⼊⼀个n位正整数" & Chr(10) & "n⼤于等于3", "⽔仙花数", 153) Dim i As Integerm = Len(n)ReDim a(1 To m) As IntegerFor i = 1 To ma(i) = Val(Mid(n, i, 1))Next iFor i = 1 To ms = a(i) ^ m + sNext iIf s = Val(n) ThenMsgBox "是⽔仙花数"ElseMsgBox "不是⽔仙花数"End If再加⼀种C语⾔⽅法:#include <math.h>int main(){unsigned long fr,to,n,m,k,sum;int nLog,numlen,brPoint=1;//输⼊100~约4000000000(unsigned long)间的范围printf("Input Number Range ('from' 'to'):"); scanf("%lu %lu",&fr,&to);for(n=fr;n<=to;n++){//算出n有多少位nLog = log10(n);numlen = floor(nLog)+1;//数n 的各位数字的位数次幂的和m=n;sum=0;while(m>0){k=m%10;sum+=pow(k,numlen);m=m/10;}//若是⽔仙花数,输出。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档