#include <stdio.h> int a[101],b[101]; int c[101]; int n,m,k,sum,cou=0; void dfs(int step) { int i,j,x; if(step==11) { sum=10; for(i=1;i<=10;i++) { if(a[i]==0) { sum-=i; // if(sum<0) // sum=0; } else sum*=2; } // printf("%d \n\n",sum); if(sum<=100&&sum>=0) { c[sum]++; } } else { for(i=0;i<=1;i++) { a[step]=i; dfs(step+1); } } } int main() { scanf("%d",&n); int i,j,cou1; dfs(1); while(n--) { scanf("%d",&m); if(c[m]==0) printf("-1\n"); else printf("%d\n",c[m]); } return 0; }
0.0分
4 人评分
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:593 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:617 |
2005年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:490 |
C语言训练-素数问题 (C语言代码)浏览:990 |
C语言训练-计算1977!* (C++代码)浏览:847 |
A+B for Input-Output Practice (C++代码)浏览:605 |
求圆的面积 (C语言代码)浏览:1266 |
Pascal三角 (C语言代码)浏览:1182 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:697 |
C语言训练-最大数问题 (C语言代码)浏览:584 |