使用for循环打印输出1000以内的水仙花数

public class ForDemo {


public static void main(String[] args) {

                int a,b,c;

System.out.println("水仙花数为:");
for(int i=1;i<=999;i++){
a=i/100;
b=i%100/10;
c=i%10;
if(i==a*a*a+b*b*b+c*c*c){
System.out.println(i+"  ");

}

        }

}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 以下是一段简单的 C 语言代码,可以输出 1000 以内水仙花数: #include <stdio.h>int main() { int i, j, k; printf("1000以内水仙花数有: \n"); for (i = 1; i < 10; i++) { for (j = 0; j < 10; j++) { for (k = 0; k < 10; k++) { int n = i * 100 + j * 10 + k; if (i * i * i + j * j * j + k * k * k == n) { printf("%d\n", n); } } } } return 0; } ### 回答2: #include <stdio.h> int main() { int num, remainder, sum; printf("1000以内水仙花数有:\n"); for(num = 100; num <= 999; num++) { sum = 0; int temp = num; while(temp != 0) { remainder = temp % 10; sum += remainder * remainder * remainder; temp /= 10; } if(num == sum) { printf("%d ", num); } } return 0; } 这段代码使用C语言编写以找到1000以内水仙花数。所谓水仙花数,指的是一个三位数,它的各个位上的数字的立方和等于它本身。 代码中的for循环从100循环到999,即遍历所有三位数。然后,使用while循环将当前数的每位进行拆分计算,并将求和的结果保存在变量sum中。在while循环中,使用取模运算获得每位的数字,并将结果累加到sum中,同时使用整除运算将temp除以10的整数部分等于将temp的末位去掉,以便于下一次循环。 最后,判断如果当前数num等于sum,则输出num,即找到了一个水仙花数循环结束后,程序会输出1000以内的所有水仙花数。 ### 回答3: 水仙花数是指一个n位数,它的每个位上的数字的n次幂之和等于它本身。换句话说,如果一个n位数等于其每个数字的n次幂之和,则称该数为水仙花数。 以下是用C语言编写的打印出1000以内水仙花数的代码: #include<stdio.h> #include<math.h> int main() { int number, originalNumber, remainder, result = 0, n = 0; printf("1000以内水仙花数有:\n"); for(number = 1; number <= 1000; number++) { originalNumber = number; while (originalNumber != 0) { originalNumber /= 10; n++; } originalNumber = number; while(originalNumber != 0) { remainder = originalNumber % 10; result += pow(remainder, n); originalNumber /= 10; } if(result == number) { printf("%d\n", number); } result = 0; // 重置变量 n = 0; // 重置变量 } return 0; } 编译并运行上述代码,就可以输出1000以内水仙花数。在屏幕上显示的水仙花数如下所示: 153 370 371 407 这些数字正好是1000以内水仙花数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值