1. 本文灵感源自博主: 十叶知秋,(26条消息) 十叶知秋的博客_CSDN博客-玩转C语言系列,玩转JAVA系列,算法题目——自我剖析领域博主学习过大佬的详细解法,我改成了C++程序
2. 转化成数学问题:
3. C++代码实现
#include <iostream>
using namespace std;
int main()
{
int A = 0, B = 0, C = 0;
int x = 0, y = 0, z = 0, k = 0;
while (true)
{
//输入4个整数
cin >> x;
cin >> y;
cin >> z;
cin >> k;
if ((x >= -30 && x <= 30) && (y >= -30 && y <= 30) && (z >= -30 && z <= 30) && (k >= -30 && k <= 30))
{
//解三元一次函数
A = (x + z) / 2;
B = (y + k) / 2;
C = (k - y) / 2;
int A1 = (x + z) / 2;
if (A != A1)//根据已知的三元一次函数,A1就是A
{
cout << "NO" << endl;//如果不存在这样的整数,跳出if循环,重新输入
}
else
{
cout << A << " " << B << " " << C << endl;//符合要求输出 A B C
break;
}
}
}
system("pause");
return 0;
}
4. 初学C++,也是第一次写博客,不足之处请大家多多指教!