温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
天行健,君子以自强不息……
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)
三位的水仙花数共有4个:153,370,371,407;
四位的水仙花数共有3个:,9474;
五位的水仙花数共有3个:5,93084;
六位的水仙花数只有1个:548834;
七位的水仙花数共有4个:17,9926315;
八位的水仙花数共有3个:593477 以下为在各种编程语言中实现求取水仙花数的方法(非高精度)。
◆PHP “水仙花数”实现代码:
for($i=100;i$&1000;$i++)
$a = intval($i/100);
$b = intval($i/10)%10;
$c = $i%10;
if(pow($a,3)+pow($b,3))+pow($c,3) == $i)
echo $x.'&/br&';
◆C 语言的"水仙花数"实现代码:
#include &stdio.h&
int main(void)
int a,b,c;
for(a=1;a&=9;a++)
for(b=0;b&=9;b++)
for(c=0;c&=9;c++)
if(100*a+10*b+c==a*a*a+b*b*b+c*c*c)
printf("%d%d%d\n",a,b,c);
return 0;
◆PASCAL 实现代码:
a,b,c:
for a:=1 to 9 do
for b:=0 to 9 do
for c:=0 to 9 do
if a*a*a+b*b*b+c*c*c=100*a+10*b+c then writeln(100*a+10*b+c);
var a,b,c,d:
for a:=100 to 999 do begin
b:=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);
◆Visual Basic 的"水仙花数"实现代码:
Private Sub Form_Click()
Dim a, b, c As Integer 'a(个)b(十)c(百)
For a = 0 To 9
For b = 0 To 9
For c = 1 To 9
If a ^ 3 + b ^ 3 + c ^ 3 = a + 10 * b + 100 * c Then
MsgBox 100 * c + 10 * b + a
End If
Next c
Next b
Next a
End Sub
◆FORTRAN 的"水仙花数"实现代码:
WRITE(*,30)
DO 10 K=100,999
IA=K/100
IB=MOD(K,100)/10
IC=MOD(K,10)
IF(K.NE.IA**3+IB**3+IC**3) GOTO 10
WRITE(*,20)K, IA,IB,IC
10 CONTINUE
20 FORMAT(5X,4I4)
30 FORMAT(5X,18HN=I**3+J**3+K**3)
◆C++ 编译器上的水仙花数实现代码
#include&iostream&
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&&"是水仙花数"&&};
return 0;
◆pyhon 中实现的代码
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+k,
◆Java 中实现的代码
public class shuixianhuashu {
public static void main(String[] args) {
for(int i=100; i&1000; i++){
int a = i/100;
int b = i/10%10;
int c = i%10;
if(Math.pow(a,3)+Math.pow(b,3)+Math.pow(c,3)==i)
System.out.println(i+"是水仙花数");
◆C# ASP.NET 中的实现代码
for (int i = 100; i & 1000; i++)
int bai = 0;
int shi = 0;
int ge = 0;
int baiyushu = 0;
bai = i / 100;
baiyushu = i % 100;
shi = baiyushu / 10;
ge = baiyushu % 10;
if (i == bai * bai * bai + shi * shi * shi + ge * ge * ge)
Response.Write("水仙花数:" + i + "&br&");
◆javascript +html 实现水仙花可变位数的运算:
&!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&
&html xmlns="http://www.w3.org/1999/xhtml"&
&head&
&meta http-equiv="Content-Type" content="text/ 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=i&=i++){
//res为水仙花数规则值,即n位的数的每位数的n次幂的和,预置为0
var res=0;
//分解出当前i的每位数并存如数组
var new_i=i.toString().split("");
for(a=0;a&=valnum-1;a++){
//求得水仙花数规则值
res=Math.pow(parseInt(new_i[a]),valnum)+
//判断符合水仙花数的个数,如符合则将水仙花数并入输出队列
if(res==i){
num++;
res_str=res_str+"&br&"+
//输出队列
if(valnum&3){output="你输入了无效位数!";}
else{output=output+num+res_}
//输出
document.getElementById("divnum").innerHTML=
&/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:left:100width:200top:100"&&/div&
&/body&
&/html&
◆asp 中实现的代码
dim a,b,c,d,m,n,z
for i=100 to 999
a=mid(i,1,1)
b=mid(i,2,1)
c=mid(i,3,1)
d=a*a*a
m=b*b*b
n=c*c*c
z=d+m+n
if z=i then
response.write z & "&br&"
end if
◆Visual FoxPro 中用表单实现的方法(此例只计算3位数水仙花数)
(1)创建表单Form1并添加文本框Text1与命令按钮Command1
(2)修改Command1的Caption属性为“计算并显示”
(3)为Form1添加方法sxh
(4)修改方法sxh代码如下
para x
x1=int(x%10)
x2=int(x/10)%10
x3=int(x/100)%100
if x=x1^3+x2^3+x3^3
return .t.
return .f.
(5)为Command1的Click事件编写如下的事件代码:
thisform.currentx=thisform.width/2
thisform.currenty=thisform.height/2
thisform.print("水仙花数是:")
for m=100 to 999
thisform.text1.value=m
sure=thisform.sxh(m)
if sure=.t.
thisform.print(str(m,4)+space(3))
inkey(0.5)
for 延迟=1 to 20000
endfor
endfor
this.enabled=.f.
QBASIC 水仙花数1—999999之间
For i = 1 To 999999
a = Mid(i, 1, 1)
b = Mid(i, 2, 1)
c = Mid(i, 3, 1)
d = Mid(i, 4, 1)
If i = a ^ 4 + b ^ 4 + c ^ 4 + d ^ 4 Then P
Next i
PB 实现的方法(此例只计算3位数水仙花数)
int s,a,b,c
for s=100 to 999
a=integer(s/100)
b=integer((s - a*100)/10)
c=s - integer(s/10)*10
if s=a^3+b^3+c^3 then
messagebox("",s)
end if
◆ActionScript实现的方法(此例只计算3位数水仙花数)
var n:
var m:
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) {
trace(m);
阅读(3571)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_085064',
blogTitle:'Java程序算法……打印出所有的水仙花数字',
blogAbstract:'程序如下:
public class JudgeDaffodil {
public static void main(String args[]){
int x=100;
for(x=100;x&1000;x++){
b=(x%100)/10;
if(x==a*a*a+b*b*b+c*c*c){
System.out.println(x);
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:8,
publishTime:9,
permalink:'blog/static/',
commentCount:1,
mainCommentCount:1,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'天行健,君子以自强不息……',
hmcon:'0',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}提问者:匿名 & 时间:
是男的都喜欢美脚,百度搜索 美脚秀 美足无限啊,
百度搜索 6居网 让你更懂生活哦~~~Java找出所有的水仙花数并输出-中国学网-中国IT综合门户网站-提供健康,养生,留学,移民,创业,汽车等信息
Java找出所有的水仙花数并输出
来源:互联网 更新时间: 15:20:27 责任编辑:王亮字体:
水仙花数是三位数,它的各位数字的立方和等于这个三位数本身,例如:3+73+13,
要判断是否是水仙花数,首先得得到它的每一位上的数。个位数即为对
代码如下:
x=100(x&=999=x%10=(x%100-a)/10=(x-x%100)/100(a*a*a+b*b*b+c*c*c==+=1
效果如图:
相关文章:
上一篇文章:下一篇文章:
最新添加资讯
24小时热门资讯
Copyright © 2004- All Rights Reserved. 中国学网 版权所有
京ICP备号-1 京公网安备02号高中数学 COOCO.因你而专业 !
你好!请或
使用次数:0
入库时间:
用程序框图和基本算法语句描述一个算法,输出100~999中所有的水仙花数(注:水仙花数指的是若一个三位数ABC=A3+B3+C3,则称ABC为水仙花数,例如13+53+33=1+125+27=153,则153为水仙花数).
思路分析:本题考查循环结构的设计方法及循环语句的写法.解:解决此题的关键是从一个三位数中分别从百位、十位和个位上分离出数字,设这个三位数为I,且百位数字为A,十位数字为B,个位数字为C.则可得(1)A=I100;(2)B=(I-100A)10;(3)C=I-100A-10B.从100开始检验,直到999结束.这是一个循环结构.I=100WHILE& I<=999A=I& MOD& 100B=(I-100*A)& MOD& 10C=I-100*A-10*BIF& I+A^3+C^3& THENPRINT& IEND& IFI=I+1ENDEND
如果没有找到你要的试题答案和解析,请尝试下下面的试题搜索功能。百万题库任你搜索。搜索成功率80%