解题思路:使用全排列函数next_permutation(a,a+N)可以很容易实现。
注意事项:有两种情况,4位=2位*3位,4位=1位*4位。
参考代码:
#include<bits/stdc++.h> using namespace std; const int N=9; int a[9]={1,2,3,4,5,6,7,8,9}; int main() { int x,y,z; do { x=a[0]*1000+a[1]*100+a[2]*10+a[3]; y=a[4]*10+a[5]; z=a[6]*100+a[7]*10+a[8]; if(x==y*z) printf("%d = %d x %d\n",x,y,z); x=a[0]*1000+a[1]*100+a[2]*10+a[3]; y=a[4]; z=a[5]*1000+a[6]*100+a[7]*10+a[8]; if(x==y*z) printf("%d = %d x %d\n",x,y,z); }while(next_permutation(a,a+N)); return 0; }
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:1052 |
WU-蓝桥杯算法提高VIP-企业奖金发放 (C++代码)浏览:1268 |
三角形 (C++代码)递归(存在大量重复计算,容易出现时间超限)浏览:836 |
C语言程序设计教程(第三版)课后习题9.2 (C语言代码)浏览:573 |
数字游戏 (C++代码)浏览:1240 |
C语言程序设计教程(第三版)课后习题8.2 (C语言代码)浏览:1109 |
【偶数求和】 (C语言代码)浏览:452 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:607 |
母牛的故事 (C语言代码)浏览:504 |
C语言程序设计教程(第三版)课后习题8.4 (C++代码)浏览:472 |