2. 输出所有的三位水仙花数到文本文件中。所谓"水仙花数"是指一个三位数,其各位数字立方和等于该本身。例如:153是一个水仙花数,因为153=1^3+5^3+3^3。 【问题描述】请将所有的三位水仙花数输出到文件file1.txt中。 【输入形式】无 【输出形式】将所有水仙花数写入到文件file1.txt中,注意使用open()函数打开文件时,第一个参数只写出文件名和扩展名,比如:f1=open('file1.txt','w') 【样例输入】 【样例输出】打开file1.txt文件后,数据如下所示: 153 370 371 407
时间: 2024-01-22 17:18:47 浏览: 49
```python
f1 = open('file1.txt', 'w')
for num in range(100, 1000):
i = num // 100
j = num // 10 % 10
k = num % 10
if num == i ** 3 + j ** 3 + k ** 3:
f1.write(str(num) + "\n")
f1.close()
```
其中,`num // 100` 可以得到百位数,`num // 10 % 10` 可以得到十位数,`num % 10` 可以得到个位数。
相关问题
3、"水仙花数"。所谓"水仙花数"是指一个3位数,其各位数字立方和等于该数本身。例如,153就是一水仙花数,因为153 = 13+53+33 。 请计算出所有的水仙花数,并以一行一个水仙花数的格式保存到文本文件data.txt中。输出格式如下: 153 = 1*1*1 + 5*5*5 + 3*3*3
以下是一个实现上述功能的程序示例:
```
import java.io.*;
public class NarcissisticNumber {
public static void main(String[] args) {
try {
FileWriter fw = new FileWriter("data.txt");
for (int i = 100; i < 1000; i++) {
int a = i / 100;
int b = i / 10 % 10;
int c = i % 10;
if (a * a * a + b * b * b + c * c * c == i) {
fw.write(i + " = " + a + "*" + a + "*" + a + " + " + b + "*" + b + "*" + b + " + " + c + "*" + c + "*" + c + "\n");
}
}
fw.close();
System.out.println("水仙花数计算完成!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
程序中使用for循环遍历所有的三位数,对于每一个三位数,将其拆分为百位数、十位数和个位数,并判断该数是否为水仙花数。如果是水仙花数,则将结果以指定的格式写入到指定的文件“data.txt”中。最后关闭文件写入流并输出提示信息。如果在读写文件过程中发生了IO异常,程序将打印出异常信息。
通过java计算出所有的水仙花数,并以一行一个水仙花数的格式保存到文本文件data.txt中。输出格式如下: 153 = 1*1*1 + 5*5*5 + 3*3*3
好的,我可以为您编写这个程序。以下是Java代码:
```java
import java.io.FileWriter;
import java.io.IOException;
public class NarcissisticNumber {
public static void main(String[] args) {
try {
FileWriter writer = new FileWriter("data.txt");
for (int i = 100; i <= 999; i++) {
int a = i / 100;
int b = (i / 10) % 10;
int c = i % 10;
if (i == a * a * a + b * b * b + c * c * c) {
String output = String.format("%d = %d*%d*%d + %d*%d*%d + %d*%d*%d\n",
i, a, a, a, b, b, b, c, c, c);
writer.write(output);
}
}
writer.close();
System.out.println("水仙花数已保存到data.txt文件中。");
} catch (IOException e) {
System.out.println("文件写入错误:" + e.getMessage());
}
}
}
```
这个程序会计算出所有的三位数水仙花数,并将结果以指定格式写入到data.txt文件中。您可以将程序保存为NarcissisticNumber.java文件,然后在命令行中使用javac编译,再使用java命令运行。程序运行后,会在控制台输出“水仙花数已保存到data.txt文件中。”的提示信息,同时在当前目录下生成data.txt文件。
阅读全文