#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语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:677 |
C二级辅导-计负均正 (C语言代码)浏览:698 |
计算质因子 (C++代码)浏览:1824 |
C语言训练-计算t=1+1/2+1/3+...+1/n (C语言代码)浏览:941 |
DNA (C语言代码)浏览:564 |
P1000 (C语言代码)浏览:911 |
核桃的数量 (C语言代码)浏览:726 |
【偶数求和】 (C语言代码)浏览:460 |
printf基础练习2 (C语言代码)浏览:547 |
C二级辅导-统计字符 (C语言代码)浏览:514 |