1.问题描述
小明发现27去掉一位数之后并加上原来的数字可以得到34,于是他将结果34告诉狗狗们让他们推测原来的数字,但是狗狗们得到32同样成立,于是他让狗狗们给出更多的答案,每给出一种答案,即可经理一根香肠。
题目要求:从input.txt中读取多个数字N,以0作为结尾面对每一个N算出符合条件的数字A,即A去掉一位数后得到数字B,数字B机上A等于N,将每组结果按照从小到达的顺序输出至output.txt,若结果不存在则输出No resolution。
2.输入与输出实例
>input.txt output.txt
11 10
34 27 31 32
21 No resolution
13579 12345
3.问题分析
简单的字符串截取与字符/数字转换问题,问题本身不难,实现细节很多。此外注意是去掉一位数剩下的数和该数相加。
4.参考代码
/*去掉一位数之后并加上原来的数字可以得到N*/
#include <iostream>
#include <string>
#include <sstream>
#include <fstream>
#include <stdlib.h>
#include <set>
using namespace std;
set<int> getSingleAns(const string &num);
void str2int(int &out,const string &a);
void int2str