水仙花数,又称 Narcissistic number,在数学中是指一个三位数,它的每一位数字的立方和等于它本身。例如,153 是一个水仙花数,因为 \(1^3 + 5^3 + 3^3 = 153\)。在 Delphi 编程语言中,我们可以创建一个程序来输出 100 到 999 之间的所有水仙花数。
我们需要了解 Delphi 的基本语法。Delphi 是一种基于 Object Pascal 的编程语言,它的程序通常由单元(Unit)组成,每个单元包含声明和实现部分。对于这个任务,我们不需要创建复杂的结构,只需编写一个简单的程序即可。
以下是一个简单的 Delphi 程序示例,用于找出 100 到 999 之间的水仙花数:
```delphi
program NarcissisticNumbers;
var
num, digit, sum: Integer;
begin
for num := 100 to 999 do
begin
sum := 0;
digit := num;
// 分离每一位数字并计算立方和
while digit > 0 do
begin
digit := digit div 10; // 取得十位上的数字
sum := sum + (digit mod 10) * (digit mod 10) * (digit mod 10); // 计算立方和
digit := digit div 10; // 移除已处理的十位数字
end;
// 如果计算的立方和等于原始数,打印该数
if sum = num then
WriteLn(num);
end;
end.
```
在这个程序中,我们首先初始化变量 `num` 为 100,`digit` 用于临时存储当前处理的数字,`sum` 用于累计立方和。然后,我们使用 `for` 循环遍历 100 到 999 的所有整数。在循环内部,我们通过 `while` 循环分离每一位数字,计算其立方并累加到 `sum`。如果 `sum` 等于 `num`,我们就找到了一个水仙花数,并将其打印出来。
运行这个 Delphi 程序后,你会看到输出包括所有 100 到 999 之间的水仙花数,即 153、370、371 和 407。
这个程序展示了 Delphi 中的循环控制结构(如 `for` 和 `while`)、算术运算符(如 `div` 和 `mod`)以及条件判断(`if` 语句)。此外,还展示了如何在 Delphi 中进行简单的数值计算和输出。这些基础知识对于 Delphi 编程初学者来说是非常重要的,也是理解和编写更复杂程序的基础。