⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 3309618_wa.cc

📁 北大大牛代码 1240道题的原代码 超级权威
💻 CC
字号:
#include <cmath>
#include <vector>
#include <algorithm>

using namespace std;

vector <int> ans;

int posn(int n)
{
	int y = n % 11;
	int x = n / 11;
	return y < 10 ? 10 * x + y : -1;
}

int main()
{
	int n, r, t;
	int base;

	scanf("%d",&n);
	base = 1;
	ans.clear();
	while (base <= n)
	{
		int tn   = n / base;
		int last = n % base;
		r = posn(tn);
		t = r*base+last/2;
		if (r!=-1&&last%2==0&&t!=n-t)
		{
			ans.push_back(t);
		}

		r = posn(tn - 1);
		t = r*base+(last+base)/2;
		if (r!=-1&&(last+base)%2==0&&t!=n-t)
		{
			ans.push_back(t);
		}
		base *= 10;
	}
	sort(ans.begin(),ans.end());
	printf("%d\n",ans.size());
	for(int i = 0; i < ans.size(); i++)
	{
		if(i&&ans[i]==ans[i-1])
			continue;
		printf("%d + ",ans[i]);
		int l1 = (int)log10(ans[i])+1;
		int l2 = (int)log10(n-ans[i])+1;
		l1 = l1-l2-1;
		for(int j = 0; j < l1; j++)
			putchar('0');
		printf("%d",n-ans[i]);
		printf(" = %d\n",n);
		
	}
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -