每日总结3.24

第十届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组

183.完全二叉树的权值(找规律,临界值)
#include <bits/stdc++.h>
using namespace std;
int a[1000005];
int main()
{
  int m;int d;
  cin>>m;
  int sum;int maxn=0;
  for(int i=1;i<=m;i++)
  {
    cin>>a[i];
  }
  for(int i=1;pow(2,i-1)<=m;i++)
  {
    sum=0;
    for(int j=pow(2,i-1);j<pow(2,i)&&j<=m;j++)
    {
      sum+=a[j];
    }
    if(sum>maxn)
    {
      maxn=sum;
      d=i;
    }
  }
  cout<<d;
  return 0;
}

1.组队(√)


2.年号字串(√)


(可理解为十进制转二十六进制)

#include <stdio.h>

void calc(int a) {
    if (a > 26)
        calc(a / 26);
    printf("%c", 'A' + (a % 26) - 1);
}

int main() {
    calc(2019);
    return 0;
}


3.数列求值


#include <iostream>
using namespace std;
#define int long long
signed main()
{
  int a=1,b=1,c=1,d;
  for(int i=4;i<=20190324;i++)
  {
    d=(a+b+c)%10000;
    a=b;
  b=c;
  c=d;
  }
  cout<<d;
  return 0;
}


4.数的分解


#include <iostream>
using namespace std;
bool jugde(int num)
{
  while(num)
  {
    if(num%10==4||num%10==2)
    {
      return false;
    }
    num/=10;
  }
  return true;
}
int main()
{
  int ans=0;
  for(int i=1;i<2019;i++)
  {
    for(int j=i+1;j<2019;j++)
    {
      int k=2019-i-j;
      if(jugde(i)&&jugde(j)&&jugde(k)&&i<j&&j<k)
      {
        ans++;
      }
    }
  }
  cout<<ans;
  return 0;
}


5.特别数的和


#include <bits/stdc++.h>
using namespace std;
bool temp(int a)
{
  while (a)
  {
    int x=a%10;
    if(x==2||(x==0&&a>=10)||x==1||x==9)
    {
      return true;
    }
    a/=10;
  }
  return false;
}
int main()
{
  int n;
  cin>>n;
  int ans=0;
  for(int i=1;i<=n;i++)
  {
    if(temp(i))
    {
      ans+=i;
    }
  }
  cout<<ans;
  return 0;
}


6.完全二叉树的权值


#include <bits/stdc++.h>
using namespace std;
int a[1000005];
int main()
{
  int m;int d;
  cin>>m;
  int sum;int maxn=0;
  for(int i=1;i<=m;i++)
  {
    cin>>a[i];
  }
  for(int i=1;pow(2,i-1)<=m;i++)
  {
    sum=0;
    for(int j=pow(2,i-1);j<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值