2021阿里笔试题

2021阿里笔试题n个人,初始序号为a[i],当某个人的序号是某个整数的平方时,则获胜。现在发放一定数量的券,每张券可以是自己的序号加一或减一。求让一半的人获胜至少需要多少张券。//testali.cpp:定义控制台应用程序的入口点。//#include”stdafx.h”#include<math.h>#include<iostream>#include<math.h>#include<vector>#include<algori

大家好,又见面了,我是你们的朋友全栈君。

n个人,初始序号为a[i],当某个人的序号是某个整数的平方时,则获胜。现在发放一定数量的券,每张券可以是自己的序号加一或减一。求让一半的人获胜至少需要多少张券。

// testali.cpp : 定义控制台应用程序的入口点。
//

#include “stdafx.h”
#include <math.h>
#include <iostream>
#include <math.h>
#include <vector>
#include <algorithm>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{

    
    int n ;
    cin >> n;
    int *a =new int[n];
    int i =0;
    
    while(i<n){

        
    cin>>a[i++];

    }
    int ans = 0;
    
    //第一步:遍历数组所有成员,求出每一个数据使用的最少券数,记录到原数组中,之后从小到大排序,取一半的人数

    for (int i =0;i <n;i++)
    {

        double c = sqrt((double)a[i]);

        int tmp = (int) c;
        //cout<< “c== ” <<c <</* endl;
        //cout<<“tmp == ” << tmp << endl;*/

        if(tmp*tmp != a[i])
        {

            //求得每一个数据的最少使用券数量
            a[i]= min((tmp+1)*(tmp+1)-a[i],a[i]-tmp*tmp);

        }
        else{

            a[i]=0;
        }
    }
    sort(a, a+n);
    for(int i =0;i <n/2;i++)
    {    
        ans+=a[i];
    }
    cout<< “ans == ” << ans<< endl;
    cout<< endl;
    system(“pause”);
    return 0;
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/142574.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • LSTM模型结构讲解[通俗易懂]

    LSTM模型结构讲解[通俗易懂]人类并不是每时每刻都从一片空白的大脑开始他们的思考。在你阅读这篇文章时候,你都是基于自己已经拥有的对先前所见词的理解来推断当前词的真实含义。我们不会将所有的东西都全部丢弃,然后用空白的大脑进行思考。我们的思想拥有持久性。传统的神经网络并不能做到这点,看起来也像是一种巨大的弊端。例如,假设你希望对电影中的每个时间点的时间类型进行分类。传统的神经网络应该很难来处理这个问题——使用电影中先前的事件推…

    2025年10月22日
    6
  • js拼接字符串练习(一)

    js拼接字符串练习(一)动态生成表格,通过用户输入的背景颜色、边框宽度、表格宽度、对齐方式、行高、内容来动态生成表格:&lt;!DOCTYPEhtml&gt;&lt;html&gt; &lt;head&gt; &lt;metacharset="UTF-8"&gt; &lt;title&gt;&lt;/title&gt; &lt;/head&gt; &lt;body&amp

    2025年7月10日
    4
  • PreferenceActivity 的用法总结

    PreferenceActivity 的用法总结第一步:定义Activity继承PreferenceActivity使用addPreferencesFromResource(R.xml.preferences);显示xml第二步:编写pre

    2022年7月2日
    27
  • 国内公共DNS_网速快的DNS

    国内公共DNS_网速快的DNS中国互联网络中心(推荐,安全又快速):1.2.4.8、210.2.4.8、101.226.4.6(电信及移动)、123.125.81.6(联通)阿里DNS:223.5.5.5、223.6.6.6googleDNS(不推荐,容易掉包,还很慢):8.8.8.8、8.8.4.4openDNS:208.67.222.222208.67.220.220208.67.222.220208.67….

    2025年9月24日
    6
  • 准备数据集用于flink学习

    准备数据集用于flink学习

    2020年11月19日
    226
  • Linux怎么卸载jdk_下载jdk的步骤

    Linux怎么卸载jdk_下载jdk的步骤一、手动安装jdk卸载1、先输入java-version查看是否安装了jdkjava-version2、如果安装了,检查下安装的路径whichjava(查看JDK的安装路径)whichjava3、卸载rm-rfJDK地址(卸载JDK)rm-rf/usr/java/jdk/jdk1.8.0_172/4、vim命令编辑文件profilevim/etc/profile将配置文件注解或删除#setjavaevironment#exportJAVA_HOME

    2022年9月1日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号