解题思路:
注意事项:
参考代码:
#include <bits/stdc++.h> using namespace std; bool vis[10]; int a[10]; void check(){ int ans1=0,ans2=0,ans3=0; for(int i=1;i<=3;i++) ans1=ans1*10+a[i]; for(int i=4;i<=6;i++) ans2=ans2*10+a[i]; for(int i=7;i<=9;i++) ans3=ans3*10+a[i]; if(ans3%ans1==0&&ans2%ans1==0&&ans3/ans1==3&&ans2/ans1==2){ cout<<ans1<<' '<<ans2<<' '<<ans3<<endl; } } void dfs(int index){ if(index==10){ check(); }else{ for(int i=1;i<=9;i++) if(!vis[i]){ vis[i]=1; a[index]=i; dfs(index+1); vis[i]=0; } } } int main(){ dfs(1); return 0; }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题6.3 (Java代码)浏览:695 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:443 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:900 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:552 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:593 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:580 |
a+b浏览:452 |
Tom数 (C语言代码)浏览:517 |
理财计划 (C语言代码)浏览:494 |
C语言程序设计教程(第三版)课后习题12.2 (C语言代码)浏览:839 |