#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语言代码)记得sum的归零时机浏览:980 |
C语言程序设计教程(第三版)课后习题12.3 (C语言代码)浏览:873 |
C二级辅导-同因查找 (C语言代码)浏览:623 |
C语言训练-计算一个整数N的阶乘 (C语言代码)浏览:973 |
DNA (C语言描述,蓝桥杯)浏览:1648 |
1024题解浏览:879 |
简单的a+b (C语言代码)浏览:572 |
1054题解浏览:511 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:650 |
小O的乘积 (C++代码)浏览:792 |