编写程序输出所有的水仙花数 求高手帮忙

请用VB
2025-06-28 04:56:22
推荐回答(3个)
回答1:

我用C语#include
int main(void)
{
int n,f1,f2,f3; /*f1 f2 f3分别定义个位十位百位*/
n=101;
while(n<1000) /*它的每个位上的数字的 n 次幂之和等于它本身就是水仙花数,
这个数是大于100的*/
{
f1=n/100; /*算出百位*/
f2=(n-f1*100)/10; /*十位数*/
f3=n-f1*100-f2*10; /*个位数*/
if(f1*f1*f1+f2*f2*f2+f3*f3*f3==n) /*判断这个数n 次幂之和等于它本身*/
printf("%d ",n); /*判断为真则输出*/
n++;}
getch();
return 0;
}言写的不知道是不是你要的从100到1000的水仙花数:

回答2:

水仙花数是这样的一个三位数:就是各位数字的平方和是153
我写的是在单击窗体时的事件:
private sub form_click()
dim fn as integer 三位数的百位
dim sn as integer 三位数的十位
dim tn as integer 三位数的个位
dim i as integer
for i= 100 to 999
fn=i\100 求百位数字
sn=(i\10)\10 求十位数字
sn=i mod 10 求各位数字
if fn^2 +sn^2+tn^2=153 then
print i & space(5)
end if
我没调试,你试试吧,应该是这样!!!

回答3:

#include
void main()
{
int a,b,c,i;
for (i=0;i<1000;i++)
{
a=i/100;
b=i/10%10;
c=i%10;
if(i=a*a*a+b*b*b+c*c*c)
printf("水仙花数有:\n",i);

}
}