码迷,mamicode.com
首页 > 其他好文 > 详细

【ACM】水仙花

时间:2015-03-29 17:53:33      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:

  今天才开始进ACM刷题,网站就挂掉了,哎……

  

/*!题目
描述
请判断一个数是不是水仙花数。
其中水仙花数定义各个位数立方和等于它本身的三位数。
输入
有多组测试数据,每组测试数据以包含一个整数n(100<=n<1000)
输入0表示程序输入结束。
输出
如果n是水仙花数就输出Yes
否则输出No
样例输入
153
154
0
样例输出
Yes
No
*/

//! \brief 答案
#include"stdio.h"
#include"stdlib.h"
#include"math.h"
void main()
{
    int index = 0;
    int size = 10;
    int *arr = (int *)malloc(sizeof(int)*size);
    int num;
    while (scanf_s("%d", &num) && num != 0)
    {
        if (num<100 || num >= 1000)
        {
            continue;
        }
        if (index >= size)
        {
            arr = (int *)realloc(arr, sizeof(int)*(size+10));
            size += 10;
        }
        arr[index++] = num;
    }
    for (int i = 0; i < index; i++)
    {
        int value = arr[i];
        int bw = value / 100;
        int sw = (value - bw * 100) / 10;
        int gw = value - bw * 100 - sw * 10;
        if ((powf(bw, 3) + powf(sw, 3) + powf(gw, 3)) == value)
        {
            printf("Yes\n");
        }
        else
        {
            printf("No\n");
        }
    }
    free(arr);
    arr = NULL;
}

 

【ACM】水仙花

标签:

原文地址:http://www.cnblogs.com/wangliu/p/4375947.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!