天天看点

2083 变种水仙花数

题目描述

把任意的数字,从中间拆分成两个数字,比如1461 可以拆分成(1和461),(14和61),(146和1),如果所有拆分后的乘积之和等于自身,则是一个变种水仙花数。

例如:

655 = 6 * 55 + 65 * 5

输入

不超过四位的正整数

输出

若不是变种水仙花数,输出NO,否则输出YES

样例输入

655

样例输出

YES

```c
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n;
    scanf("%d",&n);
    if(n<10)
        printf("YES");
    else if(n<100&&n>=10)
        printf("NO");
    else if(n>=100&&n<1000)
    {
        if(n==(((n%100)*(n/100))+(n%10)*(n/10)))
        {
            printf("YES");
        }
        else
            printf("NO");
    }
    else
    {
        if(n==(n%1000)*(n/1000)+(n%100)*(n/100)+(n%10)*(n/10))
            printf("YES");
        else
            printf("NO");
    }
    return 0;
}