jzxxoj:9469: 有趣的数2:雷劈数c++/c

题目描述
小芳是个数学谜,喜欢研究各种有趣的数字。最近,她学习了有趣的“雷劈数”。
把整数3025从中剪开分为30和25两个数,此时再将这两数之和平方,计算结果又等于原数。
(30+25)(30+25)=5555=3025,这样的数叫“雷劈数”。
请你输入一个四位数,判断它是否为雷劈数,如果是,请输出“YES”,如果不是,请输出“NO”。

输入
输入一行,一个四位整数
输出
输出YES或NO
样例
输入 复制
2025
输出 复制
YES
提示
“/”和“%”的用法

int n;
    cout << "请输入一个4位数字";
    cin >> n;
    vector<int> res;
    int a = n;
    while (n) {

        res.push_back(n % 10);
        n /= 10;   //这里n的值被改变。所以不能使用n进行比较
    }
    //题目明确说明,只能有4位数字
    int value1 = res[3] * 10 + res[2];
    int value2 = res[1] * 10 + res[0];
    int sum = pow(value1+value2, 2);
    if (sum == a)
    {
        cout << "Yes " << endl;
    }
    else
    {
        cout << "No" << endl;
    }

img