/*
if Natalia's number of apples is x (x>0)
apples:the number of apple
extra:the number that Klaudia more tha Natalia
(apples>extra>0)
so
x+extra+x=apples
x = (apples-extra)/2
*/
#include <iostream>
int main(int argc, char const *argv[]) {
int apples,extra; //apples:the number of apple extra:the number that Klaudia more tha Natalia
for (size_t i = 0; i < 10; i++) {
std::cin>>apples>>extra; //input
try{
//To determine whether the input is legal
if(apples<=0 || extra<=0 || apples<extra || (apples-extra)%2!=0) throw apples;
int Klaudia,Natalia;
Natalia = (apples-extra)/2; //calculate
Klaudia=Natalia+2;
std::cout<<Klaudia<<'\n'<<Natalia<<'\n'; //output
}
catch(int e){
//ERROR
std::cerr << "ERROR! the number of applse is error.\n" << '\n';
}
}
return 0;
}
我想说不考虑算法选择要求 这就是个 2x+b = a 求x的小学数学题,如果对算法选择没要求就是输入a,b,输出(a-b)/2 和 (a+b)/ 2.
输入的时候校验下a,b是不是同为奇数或偶数以及数字是不是超变量类型的可用范围,然后自己生成的case也要考虑这个问题
通过你提供的材料,用c++编码如下,望指正!
运行结果