蓝桥杯 Day 5 (C++)
数的分解
#include <iostream>
using namespace std;
bool check(int x)
{
while(x)
{
int tmp = x % 10;
if(tmp == 2 || tmp == 4)
{
return false;
}
x /= 10;
}
return true;
}
int main()
{
int ans = 0;
// 正整数不包括 0
for(int i = 1; i < 2019; i++)
{
if(check(i))
{
for(int j = i + 1; j < 2019; j++)
{
if(check(j))
{
for(int k = j + 1; k < 2019; k++)
{
if(check(k) && i + j + k == 2019)
{
ans ++;
}
}
}
}
}
}
cout << ans << endl;
return 0;
}

猜生日
#include <iostream>
using namespace std;
int year = 2012;
int month = 3;
int day = 12;
int main()
{
for(int i = 2012; ;i--)
{
int num = i * 10000 + 600;
for(int j = 1; j <= 30; j++)
{
int tmp = num;
tmp += j;
if(tmp % year == 0 && tmp % month == 0 && tmp % day == 0)
{
cout << tmp << endl;
return 0;
}
}
}
return 0;
}

成绩统计
#include <iostream>
using namespace std;
int n;
int main()
{
cin >> n;
int tmp = n;
int num1 = 0, num2 = 0;
while(tmp --)
{
int x;
cin >> x;
if(x >= 60)
{
num1 ++;
if(x >= 85)
{
num2 ++;
}
}
}
cout << (int)((num1 * 100.0 / n) + 0.5) << "%" << endl;
cout << (int)((num2 * 100.0 / n) + 0.5) << "%" << endl;
return 0;
}

最大和
#include <iostream>
#include <cstring>
using namespace std;
// 思路:线性DP
// f(i)
// 表示: 达到 i点时 能达到最大的分值
// 属性: 达到 i点时 能达到最大的分值
// 状态转移方程: f[j] = max(f[j] ,f[i] + v[i]) 即 表示 从上一次得落脚点 到 可以一次性到达的点中,选取可获价值最高的落脚点
const int N = 1e4 + 10, INF = 0x3f3f3f;
int n;
int v[N];
int f[N];
int getMinPrimes(int x)
{
if(x == 1) return 1;
for(int i = 2; i <= x / i; i++)
{
if(x % i == 0)
{
return i;
}
}
}
int main()
{
cin >> n;
for(int i = 1; i <= n; i++)
{
cin >> v[i];
}
// 全部填充最小值,因为题目中的得分可以是负数,防止负数得分下不走的情况
// 【即防止因为价值已经是负数 而导致 max一直为0】
memset(f, -INF, sizeof(f));
f[1] = v[1];
for(int i = 1; i <= n; i++)
{
int end = min(n, i + getMinPrimes(n - i)); //如果 i + 最小质因子 > n,表示当前可以走完剩下整个数组
for(int j = i + 1; j <= end; j++)
{
//即 表示 从上一次得落脚点 到 可以一次性到达的点中,选取可获价值最高的落脚点
f[j] = max(f[j], f[i] + v[j]);
}
}
cout << f[n] << endl;
return 0;
}

...全文
相关推荐
蓝桥杯 Java A组 历年真题加测试
+ c) % lastFourDigits; a = b; b = c; c = d; } System.out.println(d); }}```以上是蓝桥杯Java A组部分真题的分析与解答。
2011 蓝桥杯模拟 c语言 高职
根据给定的文件信息,我们可以总结出以下关于2011年蓝桥杯C语言高职组比赛的相关知识点:### 1. 回文串判断#### 知识点概述回文串是一种特殊的字符串,其正序和逆序相同。
2013蓝桥杯C语言编程题库和答案 -
"2013蓝桥杯C语言编程题库和答案"本题库共包含两个问题,分别是维纳智力早熟问题和高斯的日记问题。下面是对这两个问题的详细解释和解决方案。问题一:维纳智力早熟问题维纳智力早熟,11岁就上了大学。
2013蓝桥杯第1题
其中,C/C++是参赛者最常选择的语言之一。### 二、题目背景与要求#### 题目背景题目来源于2013年蓝桥杯C/C++初赛B组的第一题。
第十五届蓝桥杯大赛软件赛省赛第二场 C/C++ 大学 A组
以上是对第十五届蓝桥杯大赛软件赛省赛第二场C/C++大学A组的详细解析,包括了考试流程、题目类型、具体试题的解题思路和部分示例代码。


