大家好,又见面了,我是你们的朋友全栈君。
也是这个星期写的了
然而zoj识别不聊to_string
只好先贴上来
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int num[30],a,b,f;
int all;
int add(int x, int s, int n, string str);
int main()
{
cin >> a;
for (int i = 0; i < a; i++)
{
cin >> b;
all = b;
for (int j = 0; j < b; j++)
cin >> num[j];
sort(num, num + all);
for (int k = 2; k < b; k++)
add(-1, 0, k, "");
if (!f)
cout << "Can't find any equations." << endl;
f = 0;
cout << endl;
}
system("pause");
return 0;
}
int add(int x, int s, int n, string str)
{
int o = 0;
if (s > num[all-1])
return 1;
if(n==0)
for(int i=x+1;i<=all;i++)
if (s == num[i])
{
f = 1;
str = str.substr(0, str.length() - 1);
str = str +"="+ to_string(num[i]);
cout << str << endl;
return 0;
}
for (int j = x + 1; j <= all; j++)
{
s = s + num[j];
str=str+to_string(num[j])+"+";
o=add(j, s, n - 1, str);
if (o)
j = all + 1;
s = s - num[j];
str= str.substr(0, str.length() - 2);
}
return 0;
}
然后百度了转int到string的算法
还是没A
说是runtime error
还是先贴上来
#include<iostream>
#include<string>
#include<algorithm>
#include<stdio.h>
using namespace std;
int num[30],a,b,f;
int all;
int add(int x, int s, int n, string str);
string gstring(int n);
int main()
{
cin >> a;
for (int i = 0; i < a; i++)
{
cin >> b;
all = b;
for (int j = 0; j < b; j++)
cin >> num[j];
sort(num, num + all);
for (int k = 2; k < b; k++)
add(-1, 0, k, "");
if (!f)
cout << "Can't find any equations." << endl;
f = 0;
cout << endl;
}
system("pause");
return 0;
}
int add(int x, int s, int n, string str)
{
int o = 0;
if (s > num[all-1])
return 1;
if(n==0)
for(int i=x+1;i<=all;i++)
if (s == num[i])
{
f = 1;
str = str.substr(0, str.length() - 1);
str = str +"="+ gstring(num[i]);
cout << str << endl;
return 0;
}
for (int j = x + 1; j <= all; j++)
{
s = s + num[j];
str=str+gstring(num[j])+"+";
o=add(j, s, n - 1, str);
if (o)
j = all + 1;
s = s - num[j];
str= str.substr(0, str.length() - 2);
}
return 0;
}
string gstring(int n)
{
char temp[64];
string str;
sprintf_s(temp, "%d", n);
string s(temp);
return s;
//调用string的方法
cout << s.c_str() << endl;//1000
}
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/158159.html原文链接:https://javaforall.cn