当前位置:首页 » 操作系统 » 水仙花算法

水仙花算法

发布时间: 2022-02-04 03:59:20

‘壹’ 水仙花数

水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)
100~999之间的水仙花数:153,370,371,407

‘贰’ 水仙花数是什么

水仙花数是一个三位数,其各位上数的立方和等于这个数,例如153,13+53+33=153,为什么称为
“水仙花数”,因为是三个数的三次幂,与水仙花的花朵数吻合。

‘叁’ c语言水仙花数算法

#include<stdio.h>
intmain()
{
inti,j,k,n;
printf("水仙花数是:");
for(n=100;n<=999;n++)
{
i=n/100;
j=n%100/10;
k=n%10;
if(n==i*i*i+j*j*j+k*k*k)//=改为==
//printf("%d",n);
//printf("");//以上两句合并为下面这一句,否则会有大量空格
printf("%d",n);
}
return0;}

‘肆’ 水仙花数的算法

Private Sub Form_Click()
Dim a As Long, b As Long, c As Long, x As Long, y As Long, z As Long, t As Long
t = a * 100 + b * 10 + c
For a = 1 To 9
For b = 1 To 9
For c = 1 To 9
z = c ^ 3
y = b ^ 3
x = a ^ 3

if t = x + y + z then
Print a
Print b
Print c

Next c
Next b
Next a
End Sub

‘伍’ 设计算法:水仙花数问题

#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;
}

‘陆’ 水仙花数计算方法是什么

水仙花数计算方法:是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)

‘柒’ c语言水仙花数

#include <stdio.h>

int main()

{

int start, end, i = 0, a, b, c, size = 0;

while (scanf("%d %d", &start, &end) == 2)

{

for (i = start; i <= end; i++)

{

a = i / 100;

b = i / 10 % 10;

c = i % 10;

//total = pow(c, 3) + pow(a, 3) + pow(b, 3);

if ((a*a*a + b*b*b + c*c*c) == i) //满足水仙花条件

{

if (size == 0) //size=0输出第一个水仙花数

{

printf("%d", i);

}

else //size++输出第二。。第n个水仙花数

{

printf(" %d", i);

}

size++; //个数++;

}

}

if (size == 0) //范围内个数为0,则说明没有满足条件的

{

printf("no");

}

printf(" ");

}

return 0;

}

(7)水仙花算法扩展阅读:

需要注意的地方:

1.将n整除以100,得出n在百位上的数字hun。

2.将(n-i*100)整除以10(或将n先整除以10再对10求模n/10%10),得出n在十位上的数字ten。

3.将n对10取余,得出n在个位上的数字ind。

4.求得这三个数字的立方和是否与其本身相等,若相等,则该数为水仙花数。

网络-水仙花数

‘捌’ 水仙花数C语言

for(n=100;n<=999;n++) ; 把这个分号去掉就可 以了

‘玖’ java中求解水仙花数的算法思想是什么

水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。
从上面的定义可以看出,只要将给出的数字各个位数的数字分解出来,然后把个数字的3次方相加与原数相比是否相等即可判断出是否为水仙花数,给你一段源码,是求100~1000内的水仙花数,有注释,希望对你有帮助:
public class Wflower {
public static void main(String[] args) {
int a=0,b=0,c=0;
System.out.println("水仙花数是:");
for (int i = 100; i < 1000; i++) //遍历所有3位数
{
a = i/100; //获取3位数中百位的数
b=i%100/10; //获取3位数中十位的数
c=i%100%10; //获取3位数中个位的数

a = a * a * a; //计算第一位数的立方
b = b * b * b; //计算第二位数的立方
c = c * c * c; //计算第3位数的立方
if ((a + b + c) == i) //如果符合水仙花数
System.out.print(" "+i);
}
}
}

‘拾’ 水仙花数(算法就行)代码随意

拜托,50位的你要电脑怎样的速度啊!
我编了个js的,运算6位的,就要了6-7秒的时间,运算50位,铁定死机了,代码再怎么优化,需要运算的次数或是遍历位数是一定的,这是高度运算量的编程,我没找到好的算法.先贴给你我的代码.

刚刚修改过,再贴一遍!

我添加了部分注释,优化了一下代码,加了段求个数的代码,再贴给你一下
<!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/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次幂的和,预置为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)+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>

以上另存为html文件,用浏览器打开就行.

另:网络附有其他语言的编程方法,我看了一下,好像就只是算100-999的固定位数的水仙花数,没有提供可变位数参量.我补充了一下那个词条.你可以借鉴一下.
http://ke..com/view/152077.htm

热点内容
java母 发布:2024-11-14 12:08:36 浏览:456
微信如何评论图片安卓 发布:2024-11-14 11:56:34 浏览:849
游戏遍地脚本 发布:2024-11-14 11:56:32 浏览:760
怎样编译一个背单词系统 发布:2024-11-14 11:54:47 浏览:177
传奇这个配置怎么样 发布:2024-11-14 11:48:25 浏览:377
配置横向防火墙是什么意思 发布:2024-11-14 11:42:34 浏览:732
手机缓存文件能打开吗 发布:2024-11-14 11:41:00 浏览:493
存储系统集成 发布:2024-11-14 11:14:54 浏览:585
云服务器搭建方法图解 发布:2024-11-14 11:14:53 浏览:310
挑战服务器吃鸡是什么 发布:2024-11-14 10:59:07 浏览:933