标签:输出 int 1149 ZZULIOJ zon 三位数 百位 &&
题目描述
把1,2,3,4,5,6,7,8,9,组成三个三位数(每个数只能用一次),第二个数是第一个数的2倍,第三个数是第一个数的3倍,这三个三位数各是多少?答案可能有很多组,请按第一个数的升序顺序输出每组的三个三位数。
输入
无
输出
输出所有满足条件的三位数组合,按第一个数的升序顺序输出。
样例输出 Copy
192 384 576 .........
立志成为一方大佬!
#include<stdio.h>
int main()
{
int s[864]={0};//保存个位十位百位不相同的三位数
int a[864][3]={0};//保存三位数中个位十位百位
int t[3]={0};
int i,j=0;
int b,k,n=0;
for(i=123;i<=987;i++)
{
t[0]=i%10;
t[1]=i/10%10;
t[2]=i/100;
if((t[0]-t[1])*(t[1]-t[2])*(t[0]-t[2])!=0&&t[0]!=0&&t[1]!=0) //排除个位十位百位数字相同的三位数,以及个位十为0的数字
{
//将满足上述条件的数字保存到数组中
a[j][0]=t[0];
a[j][1]=t[1];
a[j][2]=t[2];
s[j]=i;
j++;
}
}
for(i=0;i<j-2;i++)
{
for(b=i+1;b<j-1;b++)
{
for(k=b+1;k<j;k++)
{
if(s[k]==3*s[i]&&s[b]==2*s[i])
{int zon[9]={0};
zon[a[i][0]-1]=1;
zon[a[i][1]-1]=1;
zon[a[i][2]-1]=1;
zon[a[b][0]-1]=1;
zon[a[b][1]-1]=1;
zon[a[b][2]-1]=1;
zon[a[k][0]-1]=1;
zon[a[k][1]-1]=1;
zon[a[k][2]-1]=1;
//执行到此时数组zon中的9个元素,不是0就是1
for(n=0;n<9;n++)
{
if(zon[n]==0)
break;
}
if(n==9)//当数组zon中的元素全为1时,说明数组s[i],s[b],s[k]三个数各个数字均不同
{
printf("%d %d %d\n",s[i],s[b],s[k]);
}
}
}
}
}
return 0;
}
标签:输出,int,1149,ZZULIOJ,zon,三位数,百位,&& 来源: https://blog.csdn.net/m0_62055572/article/details/122153972
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。