llf123456 发表于 2020-12-31 11:56:55

帮帮

#include <stdio.h>//,这是一道水仙花数的题

int narcissistic( int number );

int main()
{
    int m;

    scanf("%d", &m);
    if ( narcissistic(m) ) printf("%d is a narcissistic number\n", m);
    return 0;
}

/* 你的代码将被嵌在这里 */
int narcissistic( int number )
{
        int num=number,i,cnt=0;
        int sum=0,num1,t=1;
        while(num){
                num = num/10;
                cnt++;
        }
        num = number;
        while(num){
                num1 = num%10;
                num = num/10;
                for(i=0;i<cnt;i++)t*=num1;//我觉得我的问题出在这,但不知道错在哪了
          sum+=t;
        }
        if(number==sum)return 1;
        else return 0;
}

jackz007 发表于 2020-12-31 12:42:54

int narcissistic(int number)
{
      int r , s , t                                                               ;
      for(r = s = 0 , t = number ; t ; t /= 10) s += (t % 10) * (t % 10) * (t % 10) ;
      if(s == number) r ++                                                          ;
      return r                                                                      ;
}
页: [1]
查看完整版本: 帮帮