位数【C语言】"/>
蓝桥杯 算法提高 寻找三位数【C语言】
将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;
}
更多推荐
蓝桥杯 算法提高 寻找三位数【C语言】
发布评论