P1008 [NOIP1998 普及组] 三连击

#include<bits/stdc++.h>
using namespace std;

// 获取个位数
int ge(int n) {
    return n % 10;
}

// 获取十位数
int shi(int n) {
    return (n / 10) % 10;
}

// 获取百位数
int bai(int n) {
    return n / 100;
}
int shuzu(int i)
{
	int j;
	int a[10]={0};
	a[ge(i)]=1;//若下标为1处的数组值不为0,说明“1”存在i,2i,或3i的一部分 
	a[shi(i)]=1;
	a[bai(i)]=1;
	a[ge(2*i)]=1;
	a[shi(2*i)]=1;
	a[bai(2*i)]=1;
	a[ge(3*i)]=1;
	a[shi(3*i)]=1;
	a[bai(3*i)]=1;
	for(j=9;j>0;j--)
	{
		if (a[j]==0)return -1;
	}
	return 1;

}
int main() {
    for (int i = 100; i < 333; i++)
	 {
	 	int s=shuzu(i);//设立一个函数用来检查i,2i,3i的关系是否满足题目要求 
        if(s==1) cout<<i<<" "<< 2*i<<" "<< 3*i<<endl;//输入格式化 
       
        }
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值