zoukankan      html  css  js  c++  java
  • 连续整数--全国模拟(一)

    [编程题] 连续整数
    时间限制:1秒
    空间限制:32768K
    牛牛的好朋友羊羊在纸上写了n+1个整数,羊羊接着抹除掉了一个整数,给牛牛猜他抹除掉的数字是什么。牛牛知道羊羊写的整数神排序之后是一串连续的正整数,牛牛现在要猜出所有可能是抹除掉的整数。例如:
    10 7 12 8 11 那么抹除掉的整数只可能是9
    5 6 7 8 那么抹除掉的整数可能是4也可能是9
     
    输入描述:
    输入包括2行:
    第一行为整数n(1 <= n <= 50),即抹除一个数之后剩下的数字个数
    第二行为n个整数num[i] (1 <= num[i] <= 1000000000)
     
     
    输出描述:
    在一行中输出所有可能是抹除掉的数,从小到大输出,用空格分割,行末无空格。如果没有可能的数,则输出mistake
     
    输入例子:
    2 3 6
     
    输出例子:
    mistake
     
    解题思路:因为加上去掉的数是一个连续序列,所以想到记录min、max,以及n个数的和sum,求从min到max连续序列和sum2 val = sum2- sum,如果val在min、max区间内,则输出val,否则输出min-1 和max+1 其中如果min-1 <=0 就只输出max+1 ,然后否则输出mistake
     1 #include <iostream>
     2 #include <limits.h>//INT_MIN INT_MAX
     3  
     4 using namespace std;
     5  
     6 int main()
     7 {
     8     int n;
     9     while(cin>>n)
    10     {
    11         int a[n];
    12         for(int i=0;i<n;i++)
    13         {
    14             cin>>a[i];
    15         }
    16         int min = INT_MAX;
    17         int max = INT_MIN;
    18         int sum = 0;
    19         for(int i=0;i<n;i++)
    20         {
    21             sum += a[i];
    22             if(a[i] > max)
    23             {
    24                 max = a[i];
    25             }
    26             if(a[i] < min)
    27             {
    28                 min = a[i];
    29             }
    30         }
    31         int sum2 = ((min+max)*(max-min+1))/2;
    32         int val = sum2 - sum;
    33         if(val > min && val < max)
    34         {
    35             cout<<val<<endl;
    36         }
    37         else if(val == 0)
    38         {
    39             if(min-1 >0)
    40                 cout<<min-1<<" "<<max+1<<endl;
    41             else
    42                 cout<<max+1<<endl;
    43         }
    44         else
    45         {
    46             cout<<"mistake"<<endl;
    47         }
    48     }
    49     return 0;
    50 }
  • 相关阅读:
    vscode配置远程开发环境
    C++条件语句和循环语句
    C++整数相除、取模运算和自加
    C++基础数据类型
    C++定义常量、标识符命名、整型数据类型
    Android压力测试工具Monkey简介
    adb shell命令后出现error: device not found报错解决方案
    xadmin修改登录页面背景图
    windbg如何让.cmdtree自动执行?
    Rabbitmq入门到进阶看这篇就够了!
  • 原文地址:https://www.cnblogs.com/qqky/p/7064858.html
Copyright © 2011-2022 走看看