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 }
  • 相关阅读:
    升级到 classpath 'com.android.tools.build:gradle:1.0.0-rc1
    OnScrollListenerPro
    dp和px的转换
    ListView 中判断是否滚动到底部
    为什么setAdapter之后不能addHeadView或者addfooterView
    SwipeRefreshLayout使用小记
    Git-Flow 带你飞!
    在aws的ec2服务器上搭建nginx+php的环境
    PHP程序员的技术成长规划
    GeoHash核心原理解析
  • 原文地址:https://www.cnblogs.com/qqky/p/7064858.html
Copyright © 2011-2022 走看看