蓝桥杯 算法提高 寻找三位数【C语言】---Q君
作者:互联网
将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成1:2:3的比例,试求出所有满足条件的三个三位数。
例如:三个三位数192,384,576满足以上条件。
代码如下:
#include<stdio.h>
int main()
{
int a,b,c,d,e,f;
for(a=123;a<=329;a++)//由于成比例,所以小于999/3即可;又因为数字不同(329)
{
int count,i,x[10]={0};
b=2*a;c=3*a;
d=a;e=b;f=c;
//每位数存入数组,数组自加1;
while(d)
{
x[d%10]++;
d/=10;
}
while(e)
{
x[e%10]++;
e/=10;
}
while(f)
{
x[f%10]++;
f/=10;
}
count=1;
//易错,从1下标开始
for(i=1;i<=9;i++)
if(x[i]!=1)
{
count=0;
break;
}
if(count)
printf("%d %d %d\n",a,b,c);
}
return 0;
}
数学好的朋友们也可(嘿嘿):
#include<stdio.h>
int main()
{
printf("192 384 576");
printf("219 438 657");
printf("273 546 819");
printf("327 654 981");
return 0;
}
每日program
发布了3 篇原创文章 · 获赞 2 · 访问量 53
私信
关注
标签:main,int,576,C语言,蓝桥,三位数,printf,192 来源: https://blog.csdn.net/weixin_43614987/article/details/104410245