问题标题: 大家考的怎么样?2020小学金牌冲刺班阶段考试(B班)

0
0
已解决
李瑞曦
李瑞曦
高级天翼
高级天翼

嘤嘤嘤~本弱鸡没考好,先不透露消息。(提示:分数再100~250之内)

猜对的采纳!

大家也都来说说吧~

李瑞曦在2020-07-24 21:13:37追加了内容

我太难了~嘤嘤嘤~😭😭😭

李瑞曦在2020-07-24 21:22:33追加了内容

有人吗???

李瑞曦在2020-07-24 21:24:32追加了内容

李瑞曦在2020-07-25 15:57:52追加了内容

有没有人能猜到啊????

我会加悬赏的!!!!


0
已采纳
沈峻宇
沈峻宇
资深天翼
资深天翼

我猜你210分

但是我没考,我是rj【滑稽doge】

沈峻宇在2020-07-25 15:49:23追加了内容

200分

沈峻宇在2020-07-25 15:54:01追加了内容

190

沈峻宇在2020-07-25 16:10:31追加了内容

180?

0
王子健
王子健
初级天翼
初级天翼

这是什么时候的考试,我咋不知道?

0
0
0
0
康曦
康曦
中级光能
中级光能

最后一题70分代码

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<iomanip>
#include<string>
using namespace std;
struct kx{
    int l,b,f=0;
}a[100001];
int main(){
  int n,m=0;
  cin>>n; 
  for(int i=1;i<=n;i++){
    cin>>a[i].l;
  }
  for(int i=1;i<=n;i++){
    cin>>a[i].b;
  }
  int h=0;
  if(a[1].b>=100&&a[1].b<200) h=20;
  else if(a[1].b>=200) h=50;
  m+=a[1].b;
  for(int i=2;i<=n;i++){
    if(i==2){
        if(a[i].l-a[i-1].l<=7)
        m+=a[i].b-h;
        else m+=a[i].b;
        h=0;
        a[i].f=1;
      } 
      else {
        if(a[i-1].b>=100&&a[i-1].b<200){
            if(a[i-1].f==0&&a[i].l-a[i-1].l<=7) m+=a[i].b-20;
            else m+=a[i].b;
          }
          else if(a[i-1].b>=200){
            if(a[i-1].f==0&&a[i].l-a[i-1].l<=7) m+=a[i].b-50;
            else m+=a[i].b;
          }
          else if(a[i-1].b<100) m+=a[i].b;
      }
  }
  cout<<m;
} 
题目描述 Description
酷酷家附近有一个超市,为了促销,超市推出这样的活动:
购物满100元不到200元,送20元代金券,有效期7天(比如1月1日购物获得优惠券,则1月2日~8日都可以使用,过了8号就不能用了)
购物满200元及以上,送50元代金券,有效期10天。

代金券可以用于下次购物时减免实际的费用,不过如果用了代金券该次购物就不会获得新的代金券。
代金券如果超过了有效期就会失效。

酷酷是个精明的孩子,他在购物时如果手上正好有代金券可用,他会用最接近过期的那张优惠券。
如果同时有多张优惠券过期时间相同,则他会先使用面额大的那张优惠券。

下面给出酷酷的购物记录(哪一天购买多少元的商品),保证购物记录是按照时间先后的顺序给出的,请你输出酷酷最后的总花费。

输入描述 Input Description
第一行输入一个正整数n,表示共有n条购物记录。
第二行输入n个正整数t,按照购物的时间顺序输入,第i个数ti表示酷酷第i次购物是在哪一天。
第三行输入n个正整数m,第i个数mi表示酷酷第i次购物是要购买的物品的价格。

输出描述 Output Description
输出酷酷最后的总花费。

样例输入 Sample Input
5
1 3 4 7 10
200 100 50 100 100
样例输出 Sample Output
480
数据范围及提示 Data Size & Hint
对于10%的数据,n=2;
另有40%的数据,n<=100;
有100%的数据,n<=105
对于所有的数据,mi<=500, ti<=109

样例解释:
酷酷在第1天要够买200元的商品,花费200元,得到了50元优惠券;
酷酷在第3天要购买100元的商品,使用掉50元优惠券,花费了50元;
酷酷在第4天要购买50元的商品,花费50元,没有得到优惠券;
酷酷在第7天要购买100元的商品,花费100元,得到了20元优惠券;
酷酷在第10天要购买100元的商品,使用掉20元优惠券,花费了80元;
总共花费200+50+50+100+80=480元。

 

0
0
0
0
黄依成
黄依成
中级天翼
中级天翼

我心态崩了

140

555......

都是比较低级的错误

黄依成在2020-07-24 21:05:53追加了内容

A班

黄依成在2020-07-24 21:13:22追加了内容

第三题代码:

#include<iostream>
#include<cmath>
using namespace std;
void hw(int i){  
	int y=i,sum=0,cnt=0;
	while(y!=0){
		sum=sum*10+y%10;
		y/=10;
	}
	if(sum==i) cout<<sum<<" ";
}
int zs(int x){ 
    if(x==1) return 0;
    if(x==2) return 1;
    for(int i=2;i<=sqrt(x);i++){
        if(x%i==0){
        	return 0;
		}
    }
    return 1;
}
int main(){
	int n,cnt=0;
	cin>>n;
	for(int i=1;i<=n;i++){
		if(zs(i)){
			hw(i);
			cnt++;
		}
	}
	cout<<endl<<cnt;
	return 0;
}

怎么样,错误是不是很低级

黄依成在2020-07-24 21:15:01追加了内容

第四题:

#include<iostream>
using namespace std;
int n,i1,j1;
double x,y,minn=1000000,sum,a[1005];
int main(){
	cin>>n>>x>>y;
	sum=x/y;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	for(int i=1;i<=n-1;i++){
		for(int j=i+1;j<=n;j++){
			double cnt=double(i)/double(j);
			if(cnt>sum){
				if((cnt-sum)<minn){
					minn=cnt-sum;
					i1=i;j1=j;
				}
			}else{
				if((sum-cnt)<minn){
					minn=sum-cnt;
					i1=i;j1=j;
				}
			}
		}
	}
	cout<<i1<<" "<<j1;
	return 0;
}

又是低级错误。。。

0
被禁言 何冯成
何冯成
中级光能
中级光能

这次考试真TM变态

第一题,100

第二题,40(有没有100的)

#include<iostream>
#include<algorithm>
using namespace std;
int a[1005],maxn=0,minn=0x3f3f3f;
int main(){
	int n;
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	sort(a+1,a+n+1);
	int x;
	if(n%2!=0)
	x=a[n/2+1];
	else x=(a[n/2]+a[n/2+1])/2;
	for(int i=1;i<=n;i++){
		if(a[i]<minn) minn=a[i];
		if(a[i]>maxn) maxn=a[i];
	}
	int ans=x+maxn+minn;
	cout<<ans;
	return 0;
}

第三题:0(改了改TLE 80)

#include<iostream>
using namespace std;
int cnt;
bool hw(int x){
    int y=x,s=0;
    while (y!=0)
    {
        s=s*10+y%10;
        y/=10;
    } 
    if (s==x) return 1;
    else return 0;
}
bool zs(int y){
	if(y==1) return false;
	for(int i=2;i<=y-1;i++){
		if(y%i==0) return false;
	}
	return true;
}
int main(){
	int n;
	cin>>n;
	for(int i=1;i<=n;i++){
		if(hw(i) && zs(i)){
			cout<<i<<' ';
			cnt++;
		}
	}
	cout<<endl<<cnt;
return 0;
}

第四题:0

第五题:100

第六题:0(改了改WA 10)

#include<iostream>
using namespace std;
int a[200005],b[200005],q1,q2,sum,rq,rq1;
int main(){
	int n;
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	for(int i=1;i<=n;i++){
		cin>>b[i];
	}
	for(int i=1;i<=n;i++){
		if(b[i]>=100&&b[i]<200){
			if(q1==0){
				q1++;
				rq=a[i]+7;
				sum+=b[i];
			}
			else {
				if(a[i]<=rq){
					sum+=b[i]-20;
					q1--;
				}
			}
		}
		else if(b[i]>=200){
			if(q2==0){
				q2++;
				rq1=a[i]+10;
				sum+=b[i];
			}
			else {
				if(a[i]<=rq1){
					sum+=b[i]-50;
					q2--;
				}
			}
		}
	}
	cout<<sum;
return 0;
}

史上最差240

何冯成在2020-07-24 22:45:34追加了内容

@张天璨 你考多少

何冯成在2020-07-24 22:45:45追加了内容

@张天璨 你考多少

0
缪鲲鹏
缪鲲鹏
新手光能
新手光能

小学冲刺班啊...NOIP冲刺班阶段考还没开始呢...我记得你也在对吧

0
0
余彦文
余彦文
初级光能
初级光能

300分

收电费

题目详情

题目描述 Description

酷酷一家到了夏天总是开空调,夏天一个月的电费能抵得上春秋季节2、3个月的电费。
下面给出电费收费标准:用电不超过180度,按照0.5953元/度收费;用电超过180度但不超过350度的部分,按照0.6453元/度收费;用电超过350度的部分,按照0.8953元/度收费。
酷酷一家用了m度电,请你帮酷酷计算他家需要交多少元电费(结果四舍五入保留三位小数)。

输入描述 Input Description

输入一个正整数m,表示酷酷一家用电的度数。

输出描述 Output Description

输出酷酷家要交的电费(四舍五入保留三位小数,单位:元)

样例输入 Sample Input

500

样例输出 Sample Output

351.150

数据范围及提示 Data Size & Hint

m<=1000

100分代码:

#include<iostream>
#include<cstdio>
using namespace std;
int main(){
    int a;
    double sum;
    cin>>a;
    if(a<=180){
        sum=a*0.5953;
    }
    else if(a<=350){
        sum=180*0.5953+(a-180)*0.6453;
    }
    else{
        sum=180*0.5953+(350-180)*0.6453+(a-350)*0.8953;
    }
    printf("%.3f",(int)(sum*1000+0.5)/1000.0);
    return 0;
}     

最大值、最小值、中位数之和

题目详情

题目描述 Description

中位数的定义是一堆数从小到大排列之后,处于中间的数字。
比如1,5,2,4,3的中位数是3,因为从小到大排之后1,2,3,4,5,数字3位于最中间。如果共有偶数个数字,则中位数是中间两个数的平均值。

现在输入n个正整数,请你输出这n个数的最大值、最小值与中位数的和。(数据保证n是奇数)

输入描述 Input Description

输入两行,
第一行,输入一个正整数n;
第二行,输入n个正整数。

输出描述 Output Description

输出n个数的最大值、最小值与中位数的和。

样例输入 Sample Input

5 1 3 2 5 4

样例输出 Sample Output

9

数据范围及提示 Data Size & Hint

n<=1000

100分代码:

#include<iostream>
#include<algorithm>
using namespace std;
int a[1010];
int main(){
    int n;
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    sort(a+1,a+1+n);
    int sum=0;
    sum=a[1]+a[n]+a[(n+1)/2];
    cout<<sum;
    return 0;

回文数与质数

题目详情

题目描述 Description

输入一个正整数n,请你求出1~n之间既是回文数也是质数的数,并输出这些数的个数。
回文数指一个数正着写,反着写是一样的,比如1,11,121这些数都是回文数。

输入描述 Input Description

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

输出描述 Output Description

第一行输出1~n之间(包括1和n)既是回文数也是质数的数;
第二行输出这些数的个数。

样例输入 Sample Input

10

样例输出 Sample Output

2 3 5 7 4

100分代码

#include<iostream>
#include<cmath>
using namespace std;
bool hw(int a){
    int ans=0,a1=a;
    while(a){
        ans=ans*10+a%10;
        a/=10;
    }
    if(ans==a1){
        return true;
    }
    return false;
}
bool zs(int a){
    if(a==1){
        return false;
    }
    for(int i=2;i<=sqrt(a);i++){
        if(a%i==0){
            return false;
        }
    }
    return true;
}
int main(){
    int a,cnt=0;
    cin>>a;
    for(int i=1;i<=a;i++){
        if(hw(i)&&zs(i)){
            cout<<i<<' ';
            cnt++;
        }
    }
    cout<<endl<<cnt;
    return 0;
}

最接近的分数

题目详情

题目描述 Description

给出n个不重复的正整数,以及一个指定的分数x/y。请你从n个数中找出2个数,满足这2个数组成的分数与x/y的数值最接近。

比如输入5个数:
1,2,3,4,5
指定的分数是6/7
在这5个数中找到两个数组成的分数与6/7最接近的是4/5
所以应当输出4和5。

输入描述 Input Description

输入两行,
第一行输入正整数n,x,y (n<=1000);
第二行输入n个正整数。

输出描述 Output Description

输出组成的分数最接近x/y的两个数。

样例输入 Sample Input

5 6 71 2 3 4 5

样例输出 Sample Output

4 5

数据范围及提示 Data Size & Hint

如果答案存在多组最接近最小值的数据,取下标字典序最小的:
比如:
在1 2 3 4 5这组数据中,存在2组答案
1:2和2:4都接近比值,此时选择1:2这组数据

0分代码:

#include<iostream>
#include<cmath> 
using namespace std;
int n[1010];
int main(){
    int a,b,c;
    cin>>a>>b>>c;
    for(int i=1;i<=a;i++){
        cin>>n[i];
    }
    double sum=b*1.0/c,i1,j1,cha=double(n[1])/n[1];
    for(int i=1;i<=a;i++){
        for(int j=i;j<=a;j++){
            double sum_1=min(n[i],n[j])*1.0/max(n[i],n[j]);
            if(abs(sum_1-sum)<=cha){
                cha=abs(sum_1-sum);
                i1=i;
                j1=j;
            }
        }
    }
    cout<<i1<<' '<<j1;
    return 0;
}

其他的没做

我要回答