☰
1149: 组合三位数之二
2026/10/28 1:13:33 网站建设 项目流程

题目描述

把1,2,3,4,5,6,7,8,9,组成三个三位数(每个数只能用一次),第二个数是第一个数的2倍,第三个数是第一个数的3倍,这三个三位数各是多少?答案可能有很多组,请按第一个数的升序顺序输出每组的三个三位数。

1149和1148的逻辑很像,这里就不多做描述

1148请点这里!!!!

#include<stdio.h>#include<math.h>intfe(inti,intsq[10]);voidfed(inti,intsq[10]);intmain(){intarr[1000];intsq[10]={0};intcount=0;for(inti=123;i<=987;i++){inta=i/100;intb=i%10;intc=(i/10)%10;if(a==b||b==c||a==c||b==0||c==0){continue;}arr[count]=i;count++;}for(inti=1;i<count;i++){for(intj=i+1;j<count;j++){for(intk=j+1;k<count;k++){if(fe(arr[i],sq)&&fe(arr[j],sq)&&fe(arr[k],sq)){if(arr[i]*2==arr[j]&&arr[i]*3==arr[k]){printf("%d %d %d\n",arr[i],arr[j],arr[k]);}}fed(arr[i],sq);fed(arr[j],sq);fed(arr[k],sq);}}}}intfe(inti,intsq[10]){sq[i/100]++;sq[i%10]++;inta=i/10;sq[a%10]++;if(sq[i/100]==1&&sq[i%10]==1&&sq[a%10]==1){return1;}else{return0;}}voidfed(inti,intsq[10]){sq[i/100]=0;sq[i%10]=0;inta=i/10;sq[a%10]=0;}

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询