这道题我们可以用桶排序来做,代码如下:
#include<bits/stdc++.h>//万能头
using namespace std;//好习惯
int a[10];//一个桶数组,来确定是否有重复的
int main()
{
int s1,s2,s3;//定三个函数,用于判断
int sum=0;//用于判断数字是否重复
for(int i=1; i<=3; i++)//百位,记住i要小于等于3
{
for(int j=1; j<=9; j++)//十位
{
for(int k=1; k<=9; k++)//个位
{
sum=0;//记得赋值为0
for(int l=1; l<=9; l++)//桶数组也一样
{
a[l]=0;
}
s1=i*100+j*10+k;//将数赋到第一个函数
s2=s1*2;//第二个
s3=s1*3;//第三个
//接下来就是核心代码了
a[i]=1;a[j]=1;a[k]=1;//将桶数组赋值
a[s2/100]=1;a[s2%10]=1;a[s2/10%10]=1;//一样
a[s3/100]=1;a[s3%10]=1;a[s3/10%10]=1;//一样
for(int o=1; o<=9; o++)//如果桶数组不为0(也就是1),那么sum++
{
if(a[o]!=0) sum++;
}
if(sum==9) cout << s1 << " " << s2 << " " << s3 << endl;//如果满足条件,就输出
}
}
}
return 0;//好习惯
}
希望有大佬指点指点,谢谢
标签:10,连击,洛谷,P1008,int,s2,s1,s3,sum From: https://blog.csdn.net/shenyutong2024/article/details/137292996