/*先用深搜找出所有的1~9数字排列组合,对每一次排列组合结果划分为三个数字 例如第一次深搜结果为123456789,对其第一次划分1 2 3456789 计算1+2/3456789结果 第二次划分1 23 456789 计算1+23/456789 ………………*/ #include<iostream> using namespace std; int ans = 0; int v[10]; int sum[10]; double N; int change(int left, int right) { int num = 0; int temp = 1; int k = right - left; for (int i = left + k; i > left; i--) { num += sum[i] * temp; temp *= 10; } return num; } void judge() { int temp[9] = { 0,1,2,3,4,5,6,7,8 }; double k; for (int i = 1; i <= 7; i++) { for (int j = i + 1; j <= 8; j++) { k = change(0, i) + (change(i, j)*1.0 / change(j, 9)); if (N == k) ans++; } } } void dfs(int step) { if (step == 10) { judge(); return; } for (int i = 1; i < 10; i++) { if (v[i] == 0) { v[i] = 1; sum[step] = i; dfs(step + 1); v[i] = 0; } } } int main() { cin >> N; dfs(1); cout << ans; return 0; }
0.0分
3 人评分
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:681 |
众数问题 (C++代码)浏览:1212 |
2005年春浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:584 |
C语言程序设计教程(第三版)课后习题12.6 (C语言代码)浏览:794 |
C语言考试练习题_排列 (C++代码)浏览:638 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:867 |
WU-整数平均值 (C++代码)浏览:1244 |
用筛法求之N内的素数。 (C语言代码)浏览:649 |
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:556 |
C语言程序设计教程(第三版)课后习题10.5 (C语言代码)浏览:545 |