2021 对不起对不起,普及组来了!!!

抱歉!!!本来要在几天前发的,因为身体原因,没给大家回复!!!

 

 所以今天的给大家更多地“餐”,所谓的加餐!!!

废话不多说,上菜!!!

先说一下普及组和提高组的区别吧!!!

Pascal语言可以报普及也可以报提高组的. 初赛没过就准备初赛呗. 其实, 不知道你水平如何. 所以不知道怎么说, 你打算在复赛中拿分呢, 还是初赛过了就OK了? 你想初赛过的话, 注意那些程序题吧. 基础题很简单的, 跟会考差不多... 程序题也不难, 细心些算就是了. 初赛只是一些计算机语言常识和计算题编程填空题. 进了复赛之后, 上机编程, 3 小时, 总共四道题, 编程, 每道题有10个数据, 每个数据都处理得对的话得10分, 总共400分. 这10个数据的难度是有区别的, 比如要计算阶乘. 要计算5!, 10!, 100!, 1000! 如果你处理不了解100!或1000! 可以只计算处理10! 或5!, 其它更难的数据就让它出错吧, 再实在连5!也编不出来, 你就先用笔算算出结果到时只管显示, 也能得分. 只要算对了一个数据, 你就得到一个数据的10分了. 还有最重要的, 题目数据读入和结果文件输出都需要用到文件操作, 先把文件操作练熟了, 要不到时你连题目都读不出来. 普及组和提高组主要是难度不一样. 详可见www.noi.com!!!

我手里没有普及组的题(我靠提高组),所以这些题是“蒜客”的题库中来的!!!

1.成绩

题目描述

查看题目信息

牛牛最近学习了C++入门课程,这门课程的总成绩计算方法是:

总成绩 = 作业成绩 × 20% + 小测成绩 × 30% + 期末考试成绩 × 50%

牛牛想知道,这门课程自己最终能得到多少分。

输入格式

输入文件只有1行,包含三个非负整数A、B、C,分别表示牛牛的作业成绩、小测成绩和期末考试成绩。相邻两个数之间用一个空格隔开,三项成绩满分都是100分。

输出格式

输出文件只有1行,包含一个整数,即牛牛这门课程的总成绩,满分也是100分。

样例输入

100 100 80

样例输出

90

样例输入

60 90 80

样例输出

79

问题提示

【输入输出样例1说明】

牛牛的作业成绩是 100 分,小测成绩是 100 分,期末考试成绩是 80 分,总成绩是100 × 20%+100 × 30%+80 × 50% = 20+30+40 = 90 。

【输入输出样例2说明】

牛牛的作业成绩是 60 分,小测成绩是 90 分,期末考试成绩是 80 分,总成绩是 60 × 20%+90 × 30%+80 × 50% = 12+27+40 = 79 。

【数据说明】

对于 30% 的数据,A = B = 0 。

对于另外 30% 的数据,A = B = 100 。

对于 100% 的数据,0 ≤ A、B、C ≤ 100 ,且 A、B、C 都是 10 的整数倍。

这题比较的“水”,网上的答案,写的真是太**的666了,搞得就像是noi题一样!!!

实际上代码不难:

#include<bits/stdc++.h>
using namespace std;
int a,b,c;
int main() {
    scanf("%d%d%d",&a,&b,&c);
    int sum=a/10*2+b/10*3+c/10*5;
    printf("%d\n",sum);

    return 0;
}
这很难么???(本人看到有283行代码解决的,简直是吃饱了撑的)

数字反转

题目描述

查看题目信息

给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。

输入格式

输入共1行,一个整数N。

输出格式

输出共1行,一个整数,表示反转后的新数。

样例输入

123

样例输出

321

样例输入

-380

样例输出

-83

问题提示

【数据范围】-1,000,000,000 ≤ N ≤ 1,000,000,000。

网上的答案真的是五花八门,尤其是我们班肖特的代码,考虑高精度!!!

#include <iostream>  
using namespace std;  
int main()  
{  
  int n, reverse=0, rem;       
  cin>>n;    
  while(n!=0)    
  {    
     rem=n%10;      
     reverse=reverse*10+rem;    
     n/=10;    
  }    
  cout<<reverse<<endl;     
  return 0;  
}

级数求和

题目描述

查看题目信息

已知:Sn= 1+1/2+1/3+…+1/n。显然对于任意一个整数K,当n足够大的时候,Sn大于K。现给出一个整数K,要求计算出一个最小的n;使得Sn>K。

输入格式

只有一个整数 k(1<=k<=15).

输出格式

只有一个整数n.

样例输入

2

样例输出

4

问题提示

# include<stdio.h>
int main()
{
    int k,i;
    double Sn=0;
    scanf("%d",&k);
    for(i=1; ;i++)
    {
        Sn=Sn+1.0/i;
        if(Sn>k)
        {
            break;
        }
    }
    printf("%d",i);
    return 0;
    
}

数字统计

题目描述

查看题目信息

请统计某个给定范围[L,R]的所有整数中,数字2出现的次数。

比如给定范围[2,22],数字2在数2中出现了1次,在数12中出现1次,在数20中出现1次,在数21中出现1次,在数22中出现2次,所以数字2在该范围内一共出现了6次。

输入格式

输入共1行,为两个正整数L和R,之间用一个空格隔开。

输出格式

输出共1行,表示数字2出现的次数。

样例输入

2 22

样例输出

6

样例输入

2 100

样例输出

20

问题提示

【数据范围】1 ≤ L ≤ R ≤ 10000

这道题只能得95分,不知是不是因为时间限制超了!!!

 #include<cstdio>
int main()
{
  int l,r,i,k,ans=0;
  scanf("%d%d",&l,&r);
  for(i=l;i<=r;i++)
    for(k=i;k>0;k/=10)
      if(k%10==2)ans++;
  printf("%d\n",ans);
  return 0;
}

 简简单单的一套模拟题,两道水的不能在水的,和两道不同的dp,大家如果喜欢的话,给个3连???

如果投票时想要跟多复习资料的超过150个,我就厚脸皮的像我朋友胡修朗哪里“借鉴”一下了!!!

过几天,我好要发一个noi的,大家可以886了!!!

 

 

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值