zoukankan      html  css  js  c++  java
  • 985的数字难题

    Description

    985有n个数,已知每次操作可以将其中不相同的两个数一个加一、一个减一,操作次数不限。
    问他最多可以得到多少个相同的数。

    Input

    第一行输入一个整数t,代表有t组测试数据。
    每组数据占两行,第一行输入一个n代表元素个数,下面一行输入n个整数a[]。
    注:1 <= t <= 30,1 <= n <= 1e4,1 <= a[] <= 1e3。

    Output

    输出一个整数代表最多可以得到多少个相同的数。

    Sample Input

    231 1 122 3

    Sample Output

    31

    规律题 n个数之和为sum  

    1. 如果sum%n==0 就说明n个数可以通过加减变成相同的数 输出n即可

    2.sum%n!=0 拿出其中的一个数 每次让其他的数与它一起做题目中的运算 直到其他的数相等 这样就得到n-1个相同的数

    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    using namespace std;
    int s[100001];
    int main()
    {
    	int t ;
    	scanf("%d",&t);
    	while(t--)
    	{
    		int n;
    		scanf("%d",&n); 
    		int sum=0;
    				for(int i=0;i<n;i++)
    		{
    				scanf("%d",&s[i]);
    				sum+=s[i];
    		}
            if(sum%n==0)
            {
            	printf("%d
    ",n);
    		}
    		else
    		{
    			printf("%d
    ",n-1);
    		}
    	}
    	return 0;
    }


  • 相关阅读:
    API创建员工联系人
    API创建员工Element
    API创建员工
    API创建员工支付方式
    用API创建用户
    用API给用户添加职责
    创建银行API
    创建银行分行的API
    初探C++ 深拷贝与浅拷贝
    推断数据是否为整数
  • 原文地址:https://www.cnblogs.com/kingjordan/p/12027093.html
Copyright © 2011-2022 走看看