我是靠谱客的博主 霸气香氛,最近开发中收集的这篇文章主要介绍【蓝桥杯】计蒜客2017模拟赛A习题整理,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.结果填空:折纸(long long)

输出的不老练,还是分开自己在加一下吧。

#include<iostream>
using namespace std;
int main(){
long long sum = 1 ;
int s = 0;
for(int i = 1 ; i <= 20 ; i ++){
sum *= 2;
}
for(int i = 1 ; i <= 20 ; i ++){
s = s * 2 + 1;
}
printf("%lldn" , sum);
printf("%f" , s * 0.5);
return 0;
}

 

2.结果填空:分饼干(暴力)

没啥说的,暴力就行了。

#include<iostream>
using namespace std;
int main(){
for(int i = 20000 ; i <= 1000000000 ; i ++){
if(i % 113 == 60 && i % 233 == 150 && i % 666 == 233){
printf("%d" , i);
break;
}
}
return 0;
}

 

3.结果填空:小学生数学(暴力)

暴力。

#include<iostream>
#include<cstring>
using namespace std;
int sum = 0;
bool flag[10];
int main(){
for(int a = 1 ; a <= 9 ; a ++)
for(int b = 0 ; b <= 9 ; b ++)
for(int c = 1 ; c <= 9 ; c ++)
for(int d = 0 ; d <= 9 ; d ++)
for(int e = 0 ; e <= 9 ; e ++)
for(int f = 1 ; f <= 9 ; f ++)
for(int g = 0 ; g <= 9 ; g ++)
for(int h = 0 ; h <= 9 ; h ++)
for(int i = 0 ; i <= 9 ; i ++)
for(int j = 0 ; j <= 9 ; j ++)
if((a * 10 + b) * (c * 100 + d * 10 + e) == f * 10000 + g * 1000 + h * 100 + i * 10 + j){
if(a != b && a != c && a != d && a != e && a != f && a != g && a != h && a != i && a != j)
if(b != c && b != d && b != e && b != f && b != g && b != h && b != i && b != j){
if(c != d && c != e && c != f && c != g && c != h && c != i && c != j){
if(d != e && d != f && d != g && d != h && d != i && d != j){
if(e != f && e != g && e != h && e != i && e != j){
if(f != g && f != h && f != i && f != j){
if(g != h && g != i && g != j){
if(h != i && h != j){
if(i != j){
sum ++;
}
}
}
}
}
}
}
}
printf("%d" , sum);
return 0;
}

 

4.代码填空:圣诞树(找规律)

按照行来输出,必定数值是和i,j有关的,所以拉出来找规律就好了。

#include <stdio.h>
void christmas_tree(int n) {
for (int i = 1; i <= n; ++i) { // 圣诞树的层数
for (int j = 1; j <= n; ++j) { // 每一层小层
int space_cnt =
16 - 2 * (i - 1) - j; // 填写必要代码
int tree_cnt =
1 + (i - 1) * 4 + 2 * (j - 1); // 填写必要代码
for (int k = 0; k < space_cnt; ++k) {
putchar(' ');
}
for (int k = 0; k < tree_cnt; ++k) {
putchar('*');
}
putchar('n');
}
}
for (int i = 1; i < 3 * (n - 1); ++i) {
putchar(' ');
}
puts("***");
for (int i = 1; i < 3 * (n - 1); ++i) {
putchar(' ');
}
puts("***");
for (int i = 1; i < 3 * (n - 1); ++i) {
putchar(' ');
}
puts("***");
}
int main() {
christmas_tree(6);
return 0;
}

 

7.结果填空:简单的划分数(DFS)

【新】新的一种DFS模板,如果超过了边界就直接退出。以前从来没有这么干过。

这种题目如果只是一个填空题的话可以直接暴力解决,不必上动态规划了。

#include<iostream>
using namespace std;
int a = 0;
void dfs(int x , int s){
if(s == 80){//达到目标的时候//
a ++;
return ;
}
if(s > 80)//未达到目标的时候//
return ;
for(int i = x ; i <= 80 ; i ++){//dfs//
dfs(i , s + i);
}
}
int main(){
dfs(1 , 0);
printf("%d" , a);
return 0;
}

 

8.程序设计:弹簧板(DP)

简单的dp问题,这个地方的dp是倒着弹回来的,所以不是上一个状态,需要按照下一个状态往前推。

#include<iostream>
using namespace std;
const int MAXN = 100005;
int a[MAXN] , dp[MAXN] = { 0 };//dp表示目前的状态的最大弹的数值//
int res = 0;
int main(){
int n;
scanf("%d" , &n);
for(int i = 1 ; i <= n ; i ++){
scanf("%d" , &a[i]);
}
for(int i = n ; i >= 1 ; i --){
dp[i] = dp[i + a[i]] + 1;
res = max(dp[i] , res);
}
printf("%d" , res);
return 0;
}

写不动了。。。。完了接着补

最后

以上就是霸气香氛为你收集整理的【蓝桥杯】计蒜客2017模拟赛A习题整理的全部内容,希望文章能够帮你解决【蓝桥杯】计蒜客2017模拟赛A习题整理所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部