A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© JAH562 中级黑马   /  2014-10-20 10:43  /  841 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

求1000以内的水仙花数? 用程序怎么编写啊

3 个回复

倒序浏览
题目具体一点啊,完全不知道在说什么。。。。
回复 使用道具 举报
水仙花数就是各个位置上的数字的立方和正好等于其本身。
  1. int handle(int n)
  2. {
  3.         return n * n * n;
  4. }

  5. bool isNarcissistic(int n)
  6. {
  7.         int hundreds = n/100;
  8.         int tens = n/10 - hundreds*10;
  9.         int ones = n%10;
  10.         return handle(hundreds) + handle(tens) + handle(ones) == n;
  11. }

  12. int main()
  13. {
  14.         int i;
  15.         for(i = 100; i < 1000; ++i)
  16.         {       
  17.                 if(isNarcissistic(i))
  18.                         printf("%d\n", i);
  19.         }
  20.         return 0;
  21. }
复制代码
回复 使用道具 举报
  1. #import <Foundation/Foundation.h>


  2. bool func(int n)
  3. {
  4.     int sum = n;
  5.     int tmp;
  6.     while(n != 0)
  7.     {
  8.         tmp = n%10;
  9.         sum -= tmp*tmp*tmp;
  10.         n /= 10;
  11.     }
  12.     if(sum == 0)
  13.     {
  14.         return true;
  15.     }
  16.     return false;
  17. }


  18. int main(int argc, const char * argv[])
  19. {
  20.     int i = 0;
  21.     for(i = 0 ; i <= 1000 ; i++)
  22.     {
  23.         if(func(i))
  24.         {
  25.             NSLog(@"%d是水仙花数" , i);
  26.         }
  27.         else
  28.         {
  29.             //NSLog(@"%d不是水仙花数" , i);
  30.         }
  31.     }
  32.    
  33.     return 0;
  34. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
星河鹭起 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马