1167 - C语言6.15

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 32 MB

输出所有“水仙花数”。所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如,153是一个“水仙花数”,因为153=13+53+33。

题目输入

题目输出

所有“水仙花数”,在每一个数之后输出一个空格。

请注意行尾输出换行。

输入/输出样例

输入格式

输出格式

153 370 371 407 

C语言解答

#include<stdio.h>
int main(){
int a,b,c;
int n;
for(n=101;n<=999;n++){
a=n%10;
b=(n/10)%10;
c=(n/100)%10;
if(n==(a*a*a+b*b*b+c*c*c))
  printf("%d ",n);
}
printf("\n");
return 0;
}

C++解答

#include <stdio.h>
int main() {
	int i, a, b, c;
	for (i = 100;i <= 999;i++) {
		/* 用a、b、c分别存储3位数的每一位 */
		a = i / 100;
		b = (i % 100) / 10;
		c = i % 10;
		if (a * a * a + b * b * b + c * c * c == i) {
			printf("%d ", i);
		}
	}
	printf("\n");
	return 0;
}

Java解答

import java.util.*;
public class Main {
    public static void main(String args[]) {
        int hundreds=0;
        int tens=0;
        int ones=0;
        for(int i=100;i<=999;i++){
            hundreds=i/100;
            tens=(i%100)/10;
            ones=i%10;
            if(hundreds*hundreds*hundreds+tens*tens*tens+ones*ones*ones==i)
                System.out.printf("%d ",i);
        }
    }
}

Python解答

print "153 370 371 407 "