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