水仙花数的定义:所谓水仙花数,是指一个 3 位数,它的每位数字的立方之和等于该数。例如,因为 153=1+5+3。
需要知道的的知识:
%作为运算符是用来取余的,/是除法运算。
例如:除法运算式 65 ÷8 = 8余1
那么 65 / 8 = 8 65 %8 = 1
目的:求出100-999的所有水仙花数
不妨设百位十位个位为xyz,次数为i,由定义可列出相关关系式求解,i=x3+y3+z*3,那么对xyz嵌套三个for循环,求i值只能赋值,无从验证;还有一个条件用i来表示xyz:
i=100x+10y+z;
那么***x = i/100;y = (i%100)/10;z = i % 10;将此条件加于i=x3+y3+z3之前,可以验证i是否符合条件,从而求出水仙花数。
#include#include int main() { int i, x, y, z;//百位十位个位xyz for (i = 100; i <=999; i++) { x = i/100; y = (i%100)/10; z = i % 10; if (i==x * x * x + y * y * y + z * z * z) printf("水仙花数是:%dn", i); } return 0; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)