当前位置: 首页 > news >正文

Excel地址

解题思路:

根据题中歪歪和笨笨的话可以有两种解法。

1.输入的数为多大,则循环+1多少次,当值为27时就要进行进位操作。这时要分情况讨论。

            当集合中元素为一个时,如26,则需要变为1 1,集合元素个数加一。

            当集合元素个数大于1时,当首位不为26,如1 2 3 26 26 ,变为1 2 4 1 1,

                                              倒着循环,不为26的第一个元素位置数值+1,其后面的数值都为1.

                                                      当首位为26时,如 26 26,变为 1 1 1,集合元素个数加一,

                                                                                所有元素变为1

在根据ASCII码对照关系,进行赋值转换。

2.当作二十六进制来做,注意的是余数为0时,即为字母Z,余数从0变为26,除数-1。

                如 52 AZ        52/26=2....0=1...26        1/26=0.....       1 26对应AZ

解题代码:

public class Exceldizhi {
//BZZ 2054
//AA  27public static void main(String[] args) {Scanner sc = new Scanner(System.in);long n = sc.nextLong();ArrayList<Integer> list = new ArrayList<Integer>();list.add(0);for (int i = 1; i <= n; i++) {int num = list.get(list.size() - 1) + 1;if (num <= 26) { // 末尾<26list.set(list.size() - 1, num);} else {//大于26则进位boolean isfirst26 = true;if (list.size() == 1) {//集合中只有一个元素 例如26变为 1 1list.add(0, 1);list.set(1, 1);} else {for (int j = list.size() - 2; j >= 0; j--) {//例如1 2 26 26 26 变为1 3 1 1 1if (list.get(j) < 26) {list.set(j, list.get(j) + 1);for (int k = j + 1; k < list.size(); k++) {list.set(k, 1);}isfirst26 = false;break;}}if (isfirst26) {//集合中首位元素为26,例如 26 26 变为1 1 1list.add(0, 1);for (int m = 1; m < list.size(); m++) {list.set(m, 1);}}}}}String str = "";for (int i = 0; i < list.size(); i++) {str += (char) (list.get(i) + 64);}System.out.println(str);}
}
public static void main(String[] args) {//2054  2054/26=79...0   79/26=3...1   3/26=0...3   310//26 26/26=1...0//20 20/26=0...20Scanner sc = new Scanner(System.in);long n = sc.nextLong();ArrayList<Integer> list = new ArrayList<Integer>();while(true) {int mod=(int)(n%26);if(mod==0) {list.add(26);n--;}else {list.add(mod);}n=n/26;if(n==0)break;}String str="";for(int i=list.size()-1;i>=0;i--) {str+=(char)(list.get(i)+64);}System.out.println(str);
}

运行结果:

相关文章:

  • 使用Qt连接scrcpy-server控制手机
  • vue2使用 element表格展开功能渲染子表格
  • unity C#中使用ref、out区别和使用案例
  • 【干货】深入剖析选择排序算法:原理、步骤与复杂度分析
  • VUE element-ui实现表格动态展示、动态删减列、动态排序、动态搜索条件配置、表单组件化。
  • Matlab | SISO系统差分方程求解(附matlab源码)
  • ElasticSearch降本增效常见的方法 | 京东云技术团队
  • c++关键字const
  • MySQL单表查询练习题
  • leetcode 1两数之和
  • Redis底层原理
  • 简单整理FFmpeg相关命令集
  • DNS从入门到精通
  • Golang 打包
  • Docker-Compose详解与部署示例
  • 【Amaple教程】5. 插件
  • 【跃迁之路】【519天】程序员高效学习方法论探索系列(实验阶段276-2018.07.09)...
  • CSS进阶篇--用CSS开启硬件加速来提高网站性能
  • JS+CSS实现数字滚动
  • JSDuck 与 AngularJS 融合技巧
  • Odoo domain写法及运用
  • RxJS: 简单入门
  • tensorflow学习笔记3——MNIST应用篇
  • vue-cli在webpack的配置文件探究
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • 不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 从重复到重用
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 一个完整Java Web项目背后的密码
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • 正则与JS中的正则
  • puppet连载22:define用法
  • 如何在招聘中考核.NET架构师
  • ​香农与信息论三大定律
  • #我与Java虚拟机的故事#连载17:我的Java技术水平有了一个本质的提升
  • (C#)获取字符编码的类
  • (libusb) usb口自动刷新
  • (多级缓存)多级缓存
  • (十六)Flask之蓝图
  • (十六)一篇文章学会Java的常用API
  • (算法)Travel Information Center
  • (算法)求1到1亿间的质数或素数
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .NET CORE 3.1 集成JWT鉴权和授权2
  • .NET 材料检测系统崩溃分析
  • .NET/C# 检测电脑上安装的 .NET Framework 的版本
  • .NET/C# 异常处理:写一个空的 try 块代码,而把重要代码写到 finally 中(Constrained Execution Regions)
  • .NET大文件上传知识整理
  • .NET正则基础之——正则委托
  • .php结尾的域名,【php】php正则截取url中域名后的内容
  • .pub是什么文件_Rust 模块和文件 - 「译」
  • .w文件怎么转成html文件,使用pandoc进行Word与Markdown文件转化
  • @CacheInvalidate(name = “xxx“, key = “#results.![a+b]“,multi = true)是什么意思
  • @Mapper作用