解题思路:使用全排列函数枚举,后枚举三个数的位数,计算一遍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 人评分
P1002 (C语言代码)浏览:1019 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:669 |
【亲和数】 (C语言代码)浏览:628 |
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:721 |
老王赛马 (C++代码)浏览:973 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:727 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:455 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:479 |
WU-玉龙学长买雪糕 (C++代码)浏览:1155 |
世界杯来了浏览:1006 |