阿姆斯特朗数是指一个n位数的各个数位数字的n次方之和等于该数本身。例如,153是一个阿姆斯特朗数,因为1^3 + 5^3 + 3^3 = 153。
下面是一个PL/SQL程序,用于生成1到500之间的所有阿姆斯特朗数:
DECLARE num NUMBER := 0; sum NUMBER := 0; temp NUMBER := 0; BEGIN WHILE num <= 500 LOOP temp := num;
WHILE temp > 0
LOOP
sum := sum + POWER( MOD(temp, 10), 3 );
temp := TRUNC(temp/10);
END LOOP;
IF num = sum THEN
DBMS_OUTPUT.PUT_LINE(num);
END IF;
num := num + 1;
sum := 0;
END LOOP; END;
该程序使用两个嵌套的while循环,第一个循环用于迭代1到500之间的所有数字,第二个循环用于计算每个数字的各位数字的立方和。如果该数字等于计算出的和,则打印该数值。最后将num和sum重新初始化以继续迭代。
输出结果为:
1 153 370 371 407
这些数值都是1到500之间的阿姆斯特朗数。
上一篇:编写苹果活动
下一篇:编写PL/SQL过程