47.四位数

75 阅读1分钟

链接:ac.nowcoder.com/acm/problem…
来源:牛客网

题目描述

编程找出小于n的四位数ABCD中满足下述关系的数:

(AB+CD)∗(AB+CD)=ABCD

输入描述:

输入一行,包含一个整数n

1000<=n<=9999

输出描述:

输出若干行。每行包含一个整数。

示例1

输入

3000

输出

2025

找到一个满足(AB+CD)∗(AB+CD)=ABCD并且小于ABCD的四位整数

代码

#include <bits/stdc++.h>

using namespace std;

int main(){
    int n;
    cin >> n;
    int sum;
    for(int i = 1000;i < n;i ++){
        sum = i;
        int g = sum % 10;
        int s = sum / 10 % 10;
        int b = sum /100 % 10;
        int q = sum / 1000;
        if((q * 10 + b + s * 10 + g)*(q * 10 + b + s * 10+g) == i){
            cout << i << endl;
        }
    }
    return 0;
}