位移巧解程序竞赛题
来源:互联网 发布:淘宝小号在线购买 编辑:程序博客网 时间:2024/05/08 00:47
程序设计:
某电视台举办了低碳生活大奖赛。题目的计分规则相当奇怪:
每位选手需要回答10个问题(其编号为1到10),越后面越有难度。答对的,当前分数翻倍;答错了则扣掉与题号相同的分数(选手必须回答问题,不回答按错误处理)。
每位选手都有一个起步的分数为10分。
某获胜选手最终得分刚好是100分,如果不让你看比赛过程,你能推断出他(她)哪个题目答对了,哪个题目答错了吗?
如果把答对的记为1,答错的记为0,则10个题目的回答情况可以用仅含有1和0的串来表示。例如:0010110011 就是可能的情况。
你的任务是算出所有可能情况。每个答案占一行。(2012”蓝桥杯“软件设计大赛C本科第四题)
代码设计:
#include <cstdio> int main() { char str[11]; for(long i = 0; i < (1 << 10); i++) { int fen = 10; for(int j = 0; j < 10; j++) { str[j] = ((i >> j) & 1) + '0'; if(str[j] - '0') fen *= 2; else fen -= j + 1; } str[j] = 0; if(100 == fen) puts(str); } return 0; }
程序设计:
求一个集合的所有子集。
代码设计:
程序设计:
求一个集合的所有子集。
代码设计:
#include<stdio.h>void print_subset(int n, int s,char a[]) { printf("{"); for(int i = 0; i < n; i++) if(s&(1<<i)) printf("%c ", a[i]); printf("}"); printf("\n");}int main() { char a[6]={'a','b','c','d','e','f'}; for(int i = 0; i < (1<<6); i++) print_subset(6, i,a); return 0;}
- 位移巧解程序竞赛题
- 一道程序竞赛题
- 位移
- JAVA的位移运算巧方法
- JAVA的位移运算巧方法
- Java的位移运算巧方法
- JAVA的位移运算巧方法
- Java的位移运算巧方法
- 一道竞赛题
- 一道竞赛题
- 信息学竞赛题
- 位移运算
- 循环位移
- 数组位移
- 位移,&,|,^运算
- 位移操作
- AS3位移
- 位移运算
- 男女25岁的资源格局
- Linux开启FTP(vsftpd)服务
- 解决oracle连接很慢问题
- Page_Load基类,重写OnLoad
- c#版的阿拉伯数字转中文大写,以及票据日期的写法
- 位移巧解程序竞赛题
- Oracle表空间、段、区、块的简述
- 安装vmware-tools
- RCP实用技巧
- sqlite中fts的数据结构说明:doclist
- ASP.NET缓存处理
- socklen_t 类型
- SPRING中的线程池ThreadPoolTaskExecutor
- 如何开通自己的博客