有6个3位数,和为2886.这6个数都是由相同的3个数字在不同位置构成的,求这个3位数
有6个3位数,和为2886.这6个数都是由相同的3个数字在不同位置构成的,求这个3位数
#include<stdio.h> void print(int a,int b,int c) { printf("%d%d%d+",a,b,c); } int pai(int a,int b,int c,int n) { int s; s=a*100+b*10+c; if(b<c) {if(n)print(a,b,c); s+=pai(a,c,b,n);} else if(a<c) {if(n)print(a,b,c); s+=pai(c,a,b,n);} else if(a<b) {if(n)print(a,b,c); s+=pai(b,c,a,n);} else if(n) print(a,b,c); else return s; return s; } int main(void) { int i,j,k; for(i=1;i<=7;i++) for(j=2;j<=8;j++) for(k=3;k<=9;k++) { if(pai(i,j,k,0)==2886) { pai(i,j,k,1); printf("\b=2886\n"); } } printf("\n"); return 0; }结果: