当前位置:首页 > 2017蓝桥杯省赛赛前集训题(共14题)
. . . .
第1题:星系炸弹(2015年省赛C/C++B组第2题)
在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。 每个炸弹都可以设定多少天之后爆炸。
比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。 有一个贝塔炸弹,2014年11月9日放置,定时为1000天,请你计算它爆炸的准确日期。 请填写该日期,格式为 yyyy-mm-dd 即4位年份2位月份2位日期。比如:2015-02-19 请严格按照格式书写。不能出现其它文字或符号。
? 结果:2017-08-05
? 解决方法:用Excel拖
这个题会了的同学们把上课讲过的,课件上的,其他几道Excel拖动题都做一遍。
第2题:(2015年校内选拔赛C/C++B组第3题)
如果x的x次幂结果为10(参见【图1.png】),你能计算出x的近似值吗?
显然,这个值是介于2和3之间的一个数字。
请把x的值计算到小数后6位(四舍五入),并填写这个小数值。
注意:只填写一个小数,不要写任何多余的符号或说明。
#include
参考
. . . .
#include
double x;
for(x=2;x<=3;x+=1e-7) {
if (abs(pow(x,x)-10)<1e-6) cout< return 0; } 答案:2.506184 其他类似题:ALGO-23一元三次方程求解 第3题(全排列) 注意: 全排列必考! 全排列必考! 全排列必考! 重要的事要说三遍! 李白打酒(2014年省赛本科B组第3题) 话说大诗人李白,一生好饮。幸好他从不开车。 一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱: 无事街上走,提壶去打酒。 逢店加一倍,遇花喝一斗。 这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。 请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b。则:babaabbabbabbbb 就是合理的次序。像这样的答案一共有多少呢?请你计算出所有可能方案的个数(包含题目给出的)。 答案:14 参考 . . . . 解法1:next_permutation的解法 #include int p[15]={1,1,1,1,1,2,2,2,2,2,2,2,2,2,2};//1是店,2是花 int sum,cnt=0; do { sum=2; for(int i=0;i<15;i++) if(p[i]==1) sum<<=1; else if(p[i]==2) sum--; if(sum==0) cnt++; } while(next_permutation(p,p+14));//因为最后一次遇到的肯定是花,所以只排前14个数,不排最后一个 cout< 解法2:交换大法解法 #include #define N 14//因为最后一次肯定是花,所以只排14个数 int cnt; bool ok(int p[],int begin,int end) { for (int i = begin; i < end; i++) if (p[i] == p[end]) return false; return true; } void perms(int p[],int start) { int i; if(start==N-1) { int sum=2; for(i=0;i 参考 . . . . sum<<=1; else if(p[i]==2) sum--; if(sum==1) cnt++;//倒数第2次,剩1斗酒 return; } for(i=start;i int main() { int p[]={1,1,1,1,1,2,2,2,2,2,2,2,2,2};//1是店,2是花 perms(p,0); cout< 解法3:字符串全排列的解法 #include string s = \是店,b是花 int sum,cnt=0; do { sum=2; for(int i=0;i<15;i++) if(s[i]=='a') sum<<=1; else if(s[i]=='b') sum--; if(sum==1) cnt++; } while(next_permutation(s.begin(),s.end())); cout< 参考
共分享92篇相关文档