#include<cstdio> #include<iostream> using namespace std; char s[30000]; int k , w ; int len; int fact[10]; int cnt = 0 ; int m; //保存2^k的大小 void dfs(int cur,int old); int main(void) { fact[0]=1; for(int i=1;i<10;i++) fact[i]=2*fact[i-1]; cin >> k >> w; m = fact[k]; len =(w+k-1)/k; for(int i=0;i<fact[w%k==0?k:w%k];i++) dfs(1,i); cout << cnt << endl; return 0; } void dfs(int cur,int old ) { if(cur == len) { cnt++; return ; } else{ for(int i=(old==0?0:old+1);i<m;i++) if(i==0 && cur ==len-2 ){ }//防止出现小于两位数的情况 else dfs(cur+1 , i); } }
0.0分
3 人评分
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:661 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:1189 |
WU-输出正反三角形 (C++代码)浏览:1067 |
C语言程序设计教程(第三版)课后习题6.5 (C语言代码)浏览:612 |
【求[X,Y]内被除3余1并且被除5余3的整数的和】 (C语言代码)浏览:697 |
1024题解浏览:867 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:1091 |
简单的a+b (C语言代码)浏览:564 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:727 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:707 |