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;
}

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • linux查看文件和目录

    linux查看文件和目录linux查看文件和目录

  • 教你如何用Jenkins自动化部署项目(教程,从零到搭建完成)

    教你如何用Jenkins自动化部署项目(教程,从零到搭建完成)   最近在实习中接触了jenkins这个东西,所以花点时间了解了下。它可以在代码上传仓库(如github,gitee,gitlab)后,在jenkins(一个网站界面)中通过获取代码仓库中最新代码,进行自动化部署,而省去手动打包、上传服务器、部署这一系列步骤,非常方便。    下面教程分为以下几个部分:一、在你的本地电脑或者linux服务器上下载安装jenkins:jen…

  • PE结构

    PE结构PE文件是Windows操作系统下使用的可执行文件格式。它是微软在UNIX平台的COFF(通用对象文件格式)基础上制作而成。最初设计用来提高程序在不同操作系统上的移植性,但实际上这种文件格式

    2021年12月13日
  • CString 使用详解

    CString 使用详解CString::MakeUppervoidMakeUpper();Remarks备注ConvertsthisCStringobjecttoanuppercasestring.将原对

  • 初中英语语法(015)-附加疑问句

    初中英语语法(015)-附加疑问句附加疑问句附加疑问句由陈述句加简短附加问句构成,用以要求对方证实所述之事。附加疑问句主要有两种:一类是反意的附加疑问句,另一类是非反意附加疑问句。例如:1、附加疑问句句尾上升语调,表示询问。(1)YouarefromJapan,aren’tyou?-你来自日本,对吗?AreyoufromJapan?-这句话等同于上句回答方法也相同Yes/No,Iam/I…

  • nuc window 激活码【在线注册码/序列号/破解码】

    nuc window 激活码【在线注册码/序列号/破解码】,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

发表回复

您的电子邮箱地址不会被公开。

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