问题标题: 酷町堂:1616 擦数游戏(game)

0
0
已解决
盛慧慧
盛慧慧
初级光能
初级光能

1616   擦数游戏(game)

经验值:800 时间限制:1000毫秒

包河区2017年信息学竞赛试题

不许抄袭,一旦发现,直接清空经验!

题目描述 Description

小红喜欢玩一个擦数的游戏:黑板上写了n个数,每次任意擦去两个数,再写上这两个数的和减1的差,例如:擦掉9和13,要写上21。经过几次后,黑板上就会剩下一个数,请你编程数出游戏操作的次数和最后剩下的这个数。

输入描述 Input Description

第1行输入n(0<=n<=100000)
第2行输入这n个数字的值

输出描述 Output Description

第一行输出经过几次后黑板上才会剩下一个数
第二行输出最后剩下的这个数

样例输入 Sample Input

6 8 9 10 11 12 13

样例输出 Sample Output

5 58

 

越看越晕。。。


0
已采纳
被禁言 杜明泽
杜明泽
资深守护
资深守护

上面的太复杂了,第一问求几个数:其实就是n-1;

核心:cout<<n-1;

第二问求和:其实就是总和减去n-1

定义一个sum=0;(求和变量)

for循环输入

核心:

cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a;
        sum+=a;
    }

但这样只能拿90分,因为如果n==0,那就不行了,

if判断

cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a;
        sum+=a;
    }
    if(n==0){
        cout<<0<<endl<<0;
    }
    else{
    cout<<n-1<<endl;
    cout<<sum-(n-1);
    }

这么详细的说明,求采纳!

0
李宜和
李宜和
高级启示者
高级启示者
  • #include<iostream>
  • using namespace std;
  • int main(){
  • int n,b,sum=(?),cnt=(?);
  • cin>>n;
  • if(n==(?){
    • cout<<0<<endl;
    • cout<<0;
    • }else{
    • for(int i=1;i<=(?);i++){
      • cin>>b;
      • cnt++;
      • sum+=b;
      • if(cnt(?)=(?)){
      • sum-=(?);
      • }//if的大括号
      • }//for的大括号
      • cout<<cnt(?)<<endl;
      • cout<<(?);
      • }//大if的大括号
      • return 0;
      • }int main的大括号
      • 注:缩进自调
0
0
0
朱小川
朱小川
缔造者
缔造者

if(n==0){ cout<<"0"<<endl<<"0"; } else{ while(){ k=z; cin>>z; z=k+z-1; }核心

空着的你想一想

0
被禁言 张恩昊
张恩昊
资深天翼
资深天翼

怎么在酷町堂里开小号?谭迪元你不是说盛慧慧是你的小号吗?

我要回答