baozaw @ 2018-03-28 22:20:26
using namespace std; int h[10],book[10]={0}; int a,b,c,total=0; void dfs(int step) { int i,a1,b1,c1; if(step>9) { a1=h[1]100+h[2]10+h[3]; b1=h[4]100+h[5]10+h[6]; c1=h[7]100+h[8]10+h[9]; if(a1/a==b1/b&&b1/b==c1/c) { printf("%d %d %d\n",a1,b1,c1); total=1; } return; } for(i=1;i<=9;i++) { if(book[i]==0) { book[i]=1; h[step]=i; dfs(step+1); book[i]=0; } } return; } int main() { cin>>a>>b>>c; dfs(1); if(total==0) cout<<"No!!!"<<endl; return 0; }
by x义x @ 2018-03-31 13:15:13
int型的除法是取整的……
举个例子,就算比例是1.3:2.7:4你这个程序还是会将其输出。
所以,改用浮点吧。