循环问题2012蓝桥杯省赛第四题 奇怪的比赛(暴力解决)
最近一直在查找循环问题之类的问题,今天正好有机会和大家共享一下.
怪奇的赛比
某电视台举办了低碳活生大奖赛。标题的计分则规当相怪奇:
每位选手须要答复10个问题(其编号为1到10),越面后越有难度。答对的,前当分数翻倍;答错了则扣掉与题号雷同的分数(选手必须答复问题,不答复按错误处理)。
每位选手都有一个起步的分数为10分。
某胜获选手终究得分刚好是100分,如果不让你看赛比进程,你能推断出他(她)哪个标题答对了,哪个标题答错了吗?
如果把答对的记为1,答错的记为0,则10个标题的答复况情可以用仅含有1和0的串来示表。例如:0010110011 就是可能的况情。
纯暴力,因为个每循环只有0和1两个选择,虽然是10层循环,但其实总数才1024次,当然,也可以用二进制来做,代码简练很多,但是个人得觉,赛比的时候,别去想那么庞杂的算法,能满意的就能够了。
/*2012蓝桥杯省赛第四题 作者:陈佳润 2013-04-30*/ #include<iostream> using namespace std; void main(){ for(int q=0;q<=1;q++) for(int w=0;w<=1;w++) for(int e=0;e<=1;e++) for(int r=0;r<=1;r++) for(int t=0;t<=1;t++) for(int y=0;y<=1;y++) for(int u=0;u<=1;u++) for(int i=0;i<=1;i++) for(int o=0;o<=1;o++) for(int p=0;p<=1;p++) { int sum=10; q==0?sum-=1:sum*=2; w==0?sum-=2:sum*=2; e==0?sum-=3:sum*=2; r==0?sum-=4:sum*=2; t==0?sum-=5:sum*=2; y==0?sum-=6:sum*=2; u==0?sum-=7:sum*=2; i==0?sum-=8:sum*=2; o==0?sum-=9:sum*=2; p==0?sum-=10:sum*=2; if(sum==100) cout<<q<<w<<e<<r<<t<<y<<u<<i<<o<<p<<endl; } }
文章结束给大家分享下程序员的一些笑话语录: 腾讯总舵主马化腾,有人曾经戏称如果在Z国选举总统,马化腾一定当选,因为只要QQ来一个弹窗”投马总,送Q币”即可。