• 欢迎光临~

P1008 [NOIP1998 普及组] 三连击

开发技术 开发技术 2022-07-22 次浏览

题目背景

本题为提交答案题,您可以写程序或手算在本机上算出答案后,直接提交答案文本,也可提交答案生成程序。

题目描述

将 1, 2, ldots , 91,2,,9 共 99 个数分成 33 组,分别组成 33 个三位数,且使这 33 个三位数构成 1 : 2 : 31:2:3 的比例,试求出所有满足条件的 33 个三位数

#include <iostream>
using namespace std;
int s[10];
int main()
{
	int a,b,c,d=0;
	for(int i=123;i<=329;++i)
	{
		a=i;
		b=a*2;
		c=a*3;
		while(a>0)
		{
			s[a%10]=s[a%10]+1;
			a=a/10;
		}
		while(b>0)
		{
			s[b%10]=s[b%10]+1;
			b=b/10;
		}
		while(c>0)
		{
			s[c%10]=s[c%10]+1;
			c=c/10;
		}
	    for(int j=0;j<=9;++j)
		{
			if(s[j]>1||s[0]>0)
			{
				d=1;
				break;
			}
		}
		if(d==0)
		{
			cout<<i<<" "<<i*2<<" "<<i*3<<" "<<endl;
		}
		d=0;
		for(int y=0;y<=9;++y)
		{
			s[y]=0;
		}
	} 
	return 0;
}
程序员灯塔
转载请注明原文链接:P1008 [NOIP1998 普及组] 三连击
喜欢 (0)