[蓝桥杯2019初赛]组队与年号字串与数的分解与特别数的和

组队

作为篮球队教练,你需要从以下名单中选出 11 号位至 55 号位各一名球员,组成球队的首发阵容。

每位球员担任 11 号位至 55 号位时的评分如下表所示。请你计算首发阵容 11 号位至 55 号位的评分之和最大可能是多少?

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 128M
#include <iostream>
using namespace std;
int main()
{
  cout<<98+99+98+98+97;//人脑神经计算法
  return 0;
}

年号字串

小明用字母A 对应数字1,B 对应2,以此类推,用Z 对应26。对于27以上的数字
小明用两位或更长位的字符串来对应,例如AA 对应27,AB 对应28,AZ 对应52,LQ 对应329。
请问2019 对应的字符串是什么?

#include<bits/stdc++.h>
using namespace std;

int sum[10008] = {0};

int main()
{
    printf("BYQ")
    return 0;
}

数的分解

把2019分解成3个各不相同的正整数之和,并且要求每个正整数都不包含数字2和4,一共有多少种不同的分解方法?
注意交换3个整数的顺序被视为同一种方法,例如1000+1001+18 和1001+1000+18 被视为同一种。

#include <iostream>
#include <string>
using namespace std;
int main(void)
{
  int sum=0,i,j,k;
  for(i=1;i<673;i++)
  {
    for(j=i+1;j<2019;j++)
    {
      k=2019-i-j;
      string a=to_string(i);
      string b=to_string(j);
      string c=to_string(k);
      if(a.find("2")==-1&&a.find("4")==-1&&b.find("2")==-1&&b.find("4")==-1&&c.find("2")==-1&&c.find("4")==-1)
        if(j<k)
          sum++;
    }
  }
  cout<<sum;
  return 0;
}

特别数的和

小明对数位中含有2、0、1、9 的数字很感兴趣(不包括前导0)
在1到40中这样的数包括1、2、9、10 至32、39 和40,共28 个,他们的和是574。
请问,在1到n 中,所有这样的数的和是多少?

输入格式

输入一个正整数n(1<=n<=10000)

输出格式

输出一行,包含一个整数,表示满足条件的数的和。

输入样例

40
#include <iostream>

using namespace std;

bool check(int n)
{
    while(n)
    {
        int s = n % 10;
        n /= 10;
        if(s == 1 || s == 2 || s == 9 || s == 0)
        {
            return true;
            break;
        }
    }
    return false;
}
int main()
{
    int m,sum = 0;
    cin >> m;
    
    for(int i = 1 ; i <= m ;i++)
    {
        if(check(i)) sum += i;
    }
    
    cout << sum;
    
    return 0;
}

猜你喜欢

转载自blog.csdn.net/aasd23/article/details/124945569