最大整数(Noip1998连接多位数)

简介: 最大整数(Noip1998连接多位数)【问题描述】 设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数。 例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213 又如:n=4时,4个整数7,13,4,246联接成的最大整数为:7424613【输入格式】 n n个数【输出格式】联接成的多位数【输入样例】maxnum.in313 312 343【输出样例】maxnum.out 34331213分析:这个题目很自然地想到把n个数按照字符串排序之后输出即可。

最大整数(Noip1998连接多位数)
【问题描述】
设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数。
例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213
又如:n=4时,4个整数7,13,4,246联接成的最大整数为:7424613
【输入格式】
n
n个数
【输出格式】
联接成的多位数
【输入样例】maxnum.in
3
13 312 343
【输出样例】maxnum.out
34331213

分析:
这个题目很自然地想到把n个数按照字符串排序之后输出即可。
但是对两个串A和B,假如按照正常的strcmp(A,B)的结果来判断A和B的大小关系
从而作为排序依据的话,很容易就可以举例说明不正确:
例如A=“13”,B=“132”,strcmp(A,B)发现A<B,但是AB>BA。
所以,这里应该判断AB和BA的大小关系来判断A和B的大小关系:
若是AB>BA则A>B,若是AB<BA则A<B,否则A==B。
按照这个比较规则对所有字符串排序并输出即可。

 

 1 #include <stdio.h>
 2 #include<stdlib.h>
 3 #include<string.h>
 4 int cmp(const void * a,const void *b)
 5 {
 6     char ab[105],ba[105];
 7     strcpy(ab,(char *)a);strcat(ab,(char *)b);
 8     strcpy(ba,(char *)b);strcat(ba,(char *)a);
 9     return strcmp(ba,ab);
10 }
11 int main()
12 {
13     int n,i,temp;
14     char a[23][50];
15     freopen("maxnum.in","r",stdin);
16     freopen("maxnum.out","w",stdout);
17     scanf("%d",&n);
18     for(i=0;i<n;i++)
19         scanf("%s",a[i]);
20     /*for(i=0;i<n;i++)
21         printf("%s\n",a[i]);*/
22     qsort(a,n,sizeof(a[0]),cmp);
23     for(i=0;i<n;i++)
24         printf("%s",a[i]);
25     return 0;
26 }

 

相关文章
|
3月前
|
人工智能 缓存 资源调度
云上AI推理平台全掌握 (4):大模型分发加速
为应对大模型服务突发流量场景,阿里云人工智能平台 PAI 推理服务 PAI-EAS 提供本地目录内存缓存(Memory Cache)的大模型分发加速功能,有效解决大量请求接入情况下的推理延迟。PAI-EAS 大模型分发加速功能,零代码即可轻松完成配置。
|
9月前
|
SQL 存储 监控
让跨 project 联查更轻松,SLS StoreView 查询和分析实践
在业务场景中,日志数据可能存储在日志服务 Project 的不同 Logstore/MetricStore 中或不同地域的 Project 中。日志服务的数据集(StoreView)功能支持跨地域、跨 Store 联合查询和分析,让用户基于数据集就能高效便捷地查询分析全地域的数据,真正做到数据分析不受地域边界的限制。
255 117
|
8月前
|
数据采集 机器学习/深度学习 人工智能
Sitcom-Crafter:动画师失业警告!AI黑科技自动生成3D角色动作,剧情脚本秒变动画
Sitcom-Crafter 是一款基于剧情驱动的 3D 动作生成系统,通过多模块协同工作,支持人类行走、场景交互和多人交互,适用于动画、游戏及虚拟现实等领域。
348 4
|
供应链 数据可视化 数据挖掘
2024年最新国内五款无代码平台盘点
五款无代码平台测评,帮你选择最适合的平台。
2024年最新国内五款无代码平台盘点
|
Java 测试技术 持续交付
自动化测试框架选型与实战:深入探索与应用
【5月更文挑战第8天】本文探讨了自动化测试框架的选型与实战应用,强调了其在软件质量保障中的重要性。选型原则包括考虑项目需求、技术栈、可扩展性和可维护性,以及社区支持和文档。介绍了Selenium、Appium、JUnit和Pytest等常用框架,并概述了实战应用的步骤,包括明确需求、搭建环境、编写测试用例、执行测试、分析结果、维护代码和持续集成。合理选型与实践能提升测试效率,保障项目成功。
|
监控 安全 Linux
虚拟专用网络(VPN):远程访问与点对点连接及其在Linux中的IPSec实现与日志管理
虚拟专用网络(VPN):远程访问与点对点连接及其在Linux中的IPSec实现与日志管理
550 0
|
编译器 数据处理 开发者
Python在嵌入式系统
【4月更文挑战第12天】Python在嵌入式系统中的应用日益增长,得益于其易读性、易用性和丰富的库。它常用于快速原型开发、脚本编程,以及跨平台兼容性的需求。Python的库生态系统简化了开发工作,提高了安全性与可靠性。MicroPython和CircuitPython等解释器让Python能在资源有限的硬件上运行。尽管如此,在高性能或极低资源场景下,C/C++等语言可能仍是首选。开发者需根据实际需求权衡选择。
452 5
|
关系型数据库 MySQL Java
Flink CDC编译问题之增加依赖包失败如何解决
Flink CDC编译指的是将Flink CDC源代码转换成可执行程序的过程,可能会涉及到依赖管理和环境配置等问题;本合集将介绍Flink CDC编译的步骤、常见错误及其解决办法,以确保顺利完成编译过程。
|
Go
说说Go语言for循环中的继续、中断、跳出
说说Go语言for循环中的继续、中断、跳出
307 0
|
机器学习/深度学习 人工智能 算法
手把手教你快速实现SIFT特征匹配(含源码)
手把手教你快速实现SIFT特征匹配(含源码)
597 0