#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语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C语言代码)浏览:636 |
C语言程序设计教程(第三版)课后习题10.4 (C语言代码)浏览:943 |
Cylinder (C语言描述,蓝桥杯)浏览:1281 |
幸运数 (C++代码)浏览:1309 |
数对 (C语言代码)浏览:762 |
C语言训练-亲密数 (C语言描述,反正怎么都能对)浏览:2257 |
简单的a+b (C语言代码)浏览:542 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:863 |
C语言训练-最大数问题 (C语言代码)浏览:668 |
哥德巴赫曾猜测 (C语言代码)浏览:778 |