蓝桥杯打卡第5天(今天终于看着题解,咬着牙做完了今天的题目,太不容易了)

木杉 2023-03-08 21:48:47

1.数的分解

#include <iostream>
#include <string>
using namespace std;
bool check(int n)
{
  string str = to_string(n);
  int len = str.length();
  for(int i = 0; i < len; i ++)
  {
    if(str[i] == '2' || str[i] == '4')
      return false;
  }
  return true;
}
int main()
{
  int res = 0;
  for(int i = 1; i <= 673; i ++)
  {
    for(int j = i + 1; j < 2019 - i - j; j ++)
    {
      int k = 2019 - i - j;
      if(check(i) && check(j) && check(k))
        res ++;
    }
  }
  cout << res <<endl;
  return 0;
}

2.猜生日

#include <iostream>
using namespace std;
int main()
{
  for(int y = 1900; y < 2012; y ++)
  {
    
    for(int d = 1; d <= 30; d ++)
    {
      int num = y * 10000 + 6 * 100 + d;
      if(num % 2012 == 0 && num % 3 == 0 && num % 12 == 0)
      {
        cout << num << endl;
        return 0;
      }
    }
  }
}

3.成绩统计

#include <iostream>
using namespace std;
int main()
{
    int n;
    cin >> n;
    int a = 0, b = 0;
    for(int i = 0; i < n; i ++)
    {
        int x = 0;
        cin >> x;
        if(x >= 85)
        {
            a ++;
            b ++;
        }
        else if(x >= 60)
            a ++;
    }
    cout << int((a * 1.0 / n) * 100 + 0.5) << "%" << endl;
    cout << int((b * 1.0 / n) * 100 + 0.5) << "%" << endl;
    return 0;
}

4.最大和

#include <iostream>
#include <cstring>
using namespace std;
const int N = 10010;
int a[N], f[N], inf=0x3f3f3f3f;
int n;
bool prime(int x)
{
    for(int i = 2; i * i <= x; i ++)
    {
        if(x % i == 0)
            return false;
    }
    return true;
}

int result(int y)
{
    if(y == 1)
        return 1;
    for(int i = 2; i <= y; i ++)
    {
        if(y % i == 0 && prime(i))
            return i;
    }
}
int main()
{
    cin >> n;
    for(int i = 1; i <= n; i ++)  cin >> a[i];
  memset(f, -inf, sizeof(f));
  f[1] = a[1];
  for(int i = 1; i <= n; i ++)
  {
    int r = result(n - i);
    for(int j = i + 1; j <= i + r; j ++)
    {
      if(f[j] == -inf) f[j] = a[j] + f[i];
      else  f[j] = max(f[j], f[i] + a[j]);
    }
  }
  cout << f[n] << endl;
    return 0;
}
...全文
74 3 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
幻灰龙 03-09
  • 打赏
  • 举报
回复
赞,写篇博客分析下难点?
执梗 执梗 03-08
  • 打赏
  • 举报
回复

恭喜你

木杉 03-09
  • 举报
回复
@执 梗 嗯嗯,谢谢大佬提供的题目,跟着一起刷题,收获很大,希望自己能坚持下去。💪💪💪
相关推荐
发帖
高校算法学习社区

3.1w+

社区成员

和众多高校算法内卷分子,一起学习和交流算法那。浓郁的算法交流氛围,拒绝躺平,有效内卷。加入我们,私信我拉你入核心内卷群。
算法数据结构leetcode 个人社区
社区管理员
  • 执 梗
  • Dream-Y.ocean
  • ღCauchyོꦿ࿐
加入社区
帖子事件
创建了帖子
2023-03-08 21:48
社区公告

 刷题!