
正文
水仙花数vb.net 水仙花数是什么意思
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
用vb求1到1000水仙花数的编程方法
所谓的水仙花数(梅花数)是指在三位整数(100到999之间)中,百位数、十位数、个位数的立方和等于它本身,如153=1^3+5^3+3^3。
程序代码如下:
Private Sub Command1_Click()
Dim i As Integer, s As Integer
Dim a As Integer, b As Integer, c As Integer
Print "100到999所有水仙花数(也叫梅花数):";
For i = 100 To 999
a = i \ 100 '取百位数
b = i \10 Mod 10 '或 b = i Mod 100 \10 取十位数
c = i Mod 10 ‘取个位数
s = a ^ 3 + b ^ 3 + c ^ 3 '水仙花数的判断依据
If s = i Then
Print i;
End If
Next i
End Sub
运行结果:
100到999所有水仙花数(也叫梅花数): 153 370 371 407
相关问答
Q1: VB编程,找出所有的“水仙花数”。
这个程序在VB中与VC中是有些些不同的,因为VC中当定义每位为整型时,它不会有四舍五入规则的,而VB中则不同。比如:VC中(153/100)%10=1,而VB中它算出来的为2,所以注意这个就可以了。在VB中就先从个位判断,是否超过或等于5,是的话就让它减去0.5,不是的话直接操作。
VB中程序如下:一个按钮,一个标签就可以了。
Dim m As Integer
Dim m1 As Integer
Dim m2 As Integer
Dim m3 As Integer 'm,m1,m2,m3最好是分开定义不然会出现ByRef参数类型不符的错误
Dim str As String
Private Sub Command1_Click()
For m = 100 To 999
m3 = m Mod 10
If m3 = 5 Then
m2 = (m / 10 - 0.5) Mod 10 '因为当个位数大于5时,m/10会进一位,即十位会比原来的数据多1,所以要把这个四舍五入的位取消五入规则
Else
m2 = (m / 10) Mod 10
End If
If m2 = 5 Then
m1 = m / 100 - 0.5 '原因同上
Else
m1 = m / 100
End If
If ((cubic(m1) + cubic(m2) + cubic(m3)) = m) Then
str = str + CStr(m) + vbCrLf '把每计算出的数据存到str中,并换行
Label2.Caption = str
End If
Next m
End Sub
Function cubic(data As Integer) As Double
cubic = data * data * data
End Function
结果如下图:
Q2: VB编程水仙花数
VB实现水仙花数的程序代码如下:
PrivateSubCommand_Click()
Fornum=100To999
a=numMod10
b=num\10Mod10
c=num\100
Ifa^3+b^3+c^3=numThenPrintnum
Nextnum
EndSub
实现具体步骤如下:
1.启动VB程序,新建一个标准的exe项目,如下图。
2.在窗体上绘制命令按钮(名称:命令),双击命令按钮以进入代码窗口,如下图。
3.接下来,开始为命令按钮编写单击事件。click事件实现了上面提供的程序代码,如下图。
4.按F5运行程序并单击命令按钮。水仙花产量为4:15,370,371,407,如下图。
扩展资料:
C语言实现水仙花数的代码:
#include stdio.h
#include stdlib.h
voidmain()
{
inti,j,k,n;
printf("'waterflower'numberis:");
for(n=100;n1000;n++)
{
i=n/100;/*分解出百位*/
j=n/10%10;/*分解出十位*/
k=n%10;/*分解出个位*/
if(n==i*i*i+j*j*j+k*k*k)
{
printf("%-5d",n);
}
}
printf("\n");
}
注意事项:
VB编程的核心思想是组件编程。VB是最早引入组件编程的概念,然后被其他语言采用并成为标准,如vc++、Delphi、PowerBuilder等都采用了组件编程模型,并利用面向对象的编程技术,成为当今程序设计的发展方向之一。
VB编程,由于采用了组件技术,所以不必从底层开始窗体,控制设计,可以由工厂通过各种零件装配生产机器,通过Microsoft或第三方提供的组件,装配成所需的程序。与什么?VB是代码,它像胶水一样,把有限的代码和组件粘合在一起。结果是一个完整的应用程序。
VB有一个图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以很容易地使用daos、RDO、ADO连接到数据库,或者很容易地创建活动的X控件,从而高效地生成类型安全的和面向对象的应用程序。
程序员可以使用VB提供的组件轻松快速地构建应用程序。VB的组件既可以拥有用户界面,也可以没有。这样一来服务器端程序就可以处理增加的模块。
VB使用参数计算的方法来进行垃圾收集,这个方法中包含有大量的对象,提供基本的面向对象支持。因为越来越多组件的出现,程序员可以选用自己需要的扩展库。
Q3: VB如何求水仙花数
水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153)
可以运用将一个 For...Next 循环放置在另一个 For...Next 循环中,组成嵌套循环来解决水仙花求解问题。
以3位10进制数100-999为例,代码如下:
Private Sub Command1_Click()
Dim i As Long, j As Long, k As Long
Dim s As Long
For i = 1 To 9
For j = 0 To 9
For k = 0 To 9
s = i * 100 + j * 10 + k
If ((i ^ 3) + (j ^ 3) + (k ^ 3)) = s Then
Debug.Print s
End If
Next k
Next j
Next i
End Sub
Q4: 用VB编写:找出所有的“水仙花数”。 “水仙花数”是指一个三位数,其各位数字的立方和等于该数本身
代码为:
using System;
using System.Collections.Generic;
using System.Text;
namespace _
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("一重循环判断:");
Console.WriteLine("水仙花数有:");
int i,j, k, l;
for (i = 100; i 1000;i++)
{
j = i / 100;
k = i %100/10;
l = i % 10;
int n = j * j * j + k * k * k + l * l * l;
if (n == i)
Console.WriteLine(n);
}
Console.WriteLine("三重循环判断:");
Console.WriteLine("水仙花数有:");
int q, w, e, r;
for(q=1;q=9;q++)
for(w=0;w=9;w++)
for (e = 0; e = 9; e++)
{
int s = q * 100 + w * 10 + e;
int t = q * q * q + w * w * w + e * e * e;
if (s == t)
Console.WriteLine(s);
}
}
}
}
扩展资料:
注意事项
自定义函数is(number)判断number的各位数字立方和是否等于它本身,如is(121)返回值0,is(153)返回值1。 主函数输入两个正整数m和n(m=1, n=1000),输出m-n之间的所有满足各位数字和等于它本身的数。
Input
多组测试数据,每组输入两个正整数m和n(m=1, n=1000)。
Output
输出m-n之间的所有满足各位数字立方和等于它本身的数,空格隔开(最后一个数后无空格)。
Sample Input
1 100
50 200
50 500
Sample Output
1
153
153 370 371 407
#includestdio.h
#includemath.h
int is(int number)
{
int s,sum=0;
while(number!=0)
{
s=number%10;//不断取余,直至为0
sum+=pow(s,3);
number=number//10;不断去尾,直至为0
}
return sum;
}
int main(void)
{
int m,n,k,flag;
while(scanf("%d%d",m,n)!=EOF)
{
flag=1;
for(k=m;k=n;k++)
{
if(k==is(k))
{
if(flag!=0)
{
printf("%d",k);
flag=0;
}
else
printf(" %d",k);
}
}
printf("\n");
}
return 0;
}
水仙花数vb.net的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于水仙花数是什么意思、水仙花数vb.net的信息别忘了在本站进行查找喔。







