swadmin 2022-01-09 13:42 采纳率: 90%
浏览 181
已结题

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

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

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

  • 写回答

1条回答 默认 最新

  • 关注
    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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月20日
  • 已采纳回答 1月12日
  • 创建了问题 1月9日