企业企业网站建设百度seo文章
任务描述
本关任务:用蛮力法求整数对。
设b是正整数a去掉一个数字后的正整数,对于给出的正整数n,寻求满足和式a+b=n的所有正整数对a,b。
编程要求
根据提示,在右侧编辑器补充代码,计算并输出所有正整数对a,b。
测试说明
平台会对你编写的代码进行测试:
测试输入: 25;
预期输出:
` (23,2)
25共有以上1个解
测试输入: 100;
预期输出:
(91,9) (95,5)
100共有以上2个解
代码:
#include <iostream>
#include<vector>
#include<string>
using namespace std;int to_int(const string& s,int idx)
{int res=0;for (int i=0;i<s.length();++i){if (i==idx) continue;res=res*10+s[i]-'0';}return res;
}int main()
{ int n;cin>>n;scanf("%ld",&n);
/********* Begin *********/vector<pair<int,int>> ans;
for (int i=0;i<n;++i)
{string s=to_string(i);for (int j=0;j<s.length();++j){int tmp=to_int(s,j);if (i+tmp==n){ans.emplace_back(i,tmp);}}
}
cout<<' ';
for (int i=0;i<ans.size();++i)
{cout<<"("<<ans[i].first<<","<<ans[i].second<<")";if (i!=ans.size()-1) cout<<' ';
}
cout<<endl;/********* end *********/
printf(" %ld共有以上%ld个解\n",n,ans.size());
}