解题思路:使用全排列函数枚举,后枚举三个数的位数,计算一遍a+b/c就好
注意事项:
参考代码:
#include<bits/stdc++.h> using namespace std; int main() { int n; cin>>n; int num[15]; int ans=0; for(int i=0;i<9;i++) { num[i]=i+1; } do { int add=0; int a,b,c; for(int i=0;i<7;i++) { for(int j=i+1;j<8;j++) { a=b=c=0; for(int k=0;k<=i;k++) { a*=10; a+=num[k]; } if(a>n) { i=9; break; } for(int k=i+1;k<=j;k++) { b*=10; b+=num[k]; } for(int k=j+1;k<9;k++) { c*=10; c+=num[k]; } if(b%c!=0)continue; add=a+(b/c); if(add==n) { ans++; } } } }while(next_permutation(num,num+9)); cout<<ans; return 0; }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:737 |
A+B for Input-Output Practice (V) (C++代码)浏览:451 |
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:1229 |
1025题解浏览:738 |
1126题解浏览:596 |
【偶数求和】 (C语言代码)浏览:431 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:690 |
1197求助浏览:631 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:492 |
数列问题 (C语言代码)浏览:1022 |