百年孤独i 发表于 2020-8-30 00:47:49

水仙花求和n<=1000

#include <stdio.h>
int main()
{
        int i,j,k,n;
        printf("parcissus numbers are");
        for(n=100;n<1000;n++)
        {
                i = n/100;
                j = n/10-i*10;
                k = n%10;
                if(n==i*i*i+j*j*j+k*k*k)
                        printf("%d\n",n);
        }
        printf("\n");
}
i=
j=
k=
分别表示的含义是什么 为什么要这样写

baige 发表于 2020-8-30 04:43:41

#include <stdio.h>
int main() {
        int i,j,k,n;
        printf("parcissus numbers are");
        for(n=100; n<1000; n++)
        {
                i = n/100;// 求百位数如 100 n/100 = 1
                j = n/10-i*10; //求十位数 100/10-i(1)*10 = 0
                k = n%10;// 求个位数100%10的余数为0
                if(n==i*i*i+j*j*j+k*k*k)
                        printf("%d\n",n);
        }
        printf("\n");
}

baige 发表于 2020-8-30 07:47:02

i = n/100 直接求百位数
k = n%10 利用和10取余得到个位数
j = n/10 - i*10
先利用n/10得到前两位数字,再减掉百位数*10,从而得到第二位数字也就是十位数
页: [1]
查看完整版本: 水仙花求和n<=1000