POJ 1312 Numerically Speaking
题意:a = 1, b = 2, ..., z = 26, aa = 27, ...
给字符串或者数字,输出对应的答案。
解法:类似26进制……但又不完全是……拿java大数模拟了一下……
代码:
import java.util.*;
import java.math.*; public class Main
{
public static void main(String args[])
{
Scanner cin = new Scanner(System.in);
while(true)
{
String input = cin.next();
if(input.equals("*"))
break;
String ans1 = "", ans2 = "";
if(input.charAt(0) >= '0' && input.charAt(0) <= '9')
{
ans2 = input;
BigInteger x = new BigInteger(input);
while(!x.equals(BigInteger.ZERO))
{
if(x.equals(BigInteger.valueOf(26)))
{
ans1 += 'z';
break;
}
ans1 += (char)('a' + (Integer.parseInt(x.mod(BigInteger.valueOf(26)).toString()) + 25) % 26);
if(x.mod(BigInteger.valueOf(26)).equals(BigInteger.ZERO))
{
x = x.divide(BigInteger.valueOf(26));
x = x.add(BigInteger.valueOf(-1));
}
else
x = x.divide(BigInteger.valueOf(26));
}
}
else
{
ans1 = input;
BigInteger x = BigInteger.ZERO;
for(int i = 0; i < input.length(); i++)
{
x = x.multiply(BigInteger.valueOf(26));
x = x.add(BigInteger.valueOf((int)input.charAt(i) - 'a' + 1));
}
ans2 = x.toString();
}
if(input.charAt(0) >= '0' && input.charAt(0) <= '9')
for(int i = ans1.length() - 1; i >= 0; i--)
System.out.print(ans1.charAt(i));
else
System.out.print(ans1);
for(int i = 22 - ans1.length(); i > 0; i--)
System.out.print(" ");
int len = ans2.length() % 3;
int res = ans2.length();
for(int i = 0; i < len; i++)
System.out.print(ans2.charAt(i));
for(int i = len; i < res; i += 3)
{
if(i != 0)
System.out.print(',');
System.out.print(ans2.charAt(i));
System.out.print(ans2.charAt(i + 1));
System.out.print(ans2.charAt(i + 2));
}
System.out.println("");
}
}
}
POJ 1312 Numerically Speaking的更多相关文章
- HDU 1314 Numerically Speaking(大数加减乘除+另类二十六进制互相转换)
原题代号:HDU 1314 原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1314 Numerically Speaking Time Limit: 2 ...
- 【HDOJ】1314 Numerically Speaking
学了几天的Java了,终于独立A了一道大数计算.感觉还得练Java啊. import java.util.Scanner; import java.math.BigInteger; import ja ...
- POJ题目细究
acm之pku题目分类 对ACM有兴趣的同学们可以看看 DP: 1011 NTA 简单题 1013 Great Equipment 简单题 102 ...
- 【转】POJ百道水题列表
以下是poj百道水题,新手可以考虑从这里刷起 搜索1002 Fire Net1004 Anagrams by Stack1005 Jugs1008 Gnome Tetravex1091 Knight ...
- POJ 1595 Prime Cuts (ZOJ 1312) 素数打表
ZOJ:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=312 POJ:http://poj.org/problem?id=159 ...
- HDOJ 1312 (POJ 1979) Red and Black
Problem Description There is a rectangular room, covered with square tiles. Each tile is colored eit ...
- poj 题目分类(1)
poj 题目分类 按照ac的代码长度分类(主要参考最短代码和自己写的代码) 短代码:0.01K--0.50K:中短代码:0.51K--1.00K:中等代码量:1.01K--2.00K:长代码:2.01 ...
- POJ题目分类(按初级\中级\高级等分类,有助于大家根据个人情况学习)
本文来自:http://www.cppblog.com/snowshine09/archive/2011/08/02/152272.spx 多版本的POJ分类 流传最广的一种分类: 初期: 一.基本算 ...
- 转载:poj题目分类(侵删)
转载:from: POJ:http://blog.csdn.net/qq_28236309/article/details/47818407 按照ac的代码长度分类(主要参考最短代码和自己写的代码) ...
随机推荐
- 管理Java垃圾回收的五个建议
[编者按]本文作者是Niv Steingarten,是Takipi 的联合创始人,热衷于编写优雅简洁的代码.作者通过对垃圾收集器的介绍和梳理,在管理垃圾回收方面提出了五个建议,降低收集器开销,帮助大家 ...
- 如何用 OneAPM 优化你的 Node.js 应用?
本文主要讲解如何使用 OneAPM 提供的信息从内存.CPU 使用.响应速度等方面优化 Node.js 应用.适用于定位于刚刚使用 Node.js 开发后台的读者.本文系 OneAPM 用户投稿,本网 ...
- 【C++之STL】理解容器(ing)
“容器可容纳一些数据的模板类” “容器是包容其他对象的对象” 两种类型:顺序容器.关联容器 顺序容器 关联容器 访问成员 顺序访问和随机访问 经过优化关键键值访问 ...
- Longest Repeated Sequence【微软编程一小时-题目2】
时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 You are given a sequence of integers, A = a1, a2, ... an. A c ...
- 读写txt文件
public void SetUpdateTime(string strNewDate) { try { var path =Application.StartupPath + Configurati ...
- MQTT之 Mosquitto hello world的使用
服务端发布消息模式,客户端订阅: 终端一中启动 moquitto 服务器 shallbeThatIshallbe:mosquitto iamthat$ 1427293344: Opening ipv4 ...
- 简单的线程同步问题:两个线程交替执行N次【Synchronized、Lock、ArrayBlockingQueue】
方法一:传统的线程方法import org.apache.log4j.Logger; /** * 两个线程执行的代码片段要实现同步互斥的效果,它们必须用同一个Lock对象.<br/> * ...
- dbgrid显示access备注信息
procedure TfrmAllFind.DBGrid6DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; C ...
- 欧拉工程第68题:Magic 5-gon ring
题目链接 任意一条线上的三个数的和都等于9,顺时针,从最小的外圈开始,得到的序列是:432621213 和 序列 9位的字符串:三角环所能形成的最大字符串为432621513. ...
- Windows下Subversion和Apache的安装及配置(一)
1.序 Subversion可谓版本控制软件中的佼佼者,其开源性,易用性已受到众多软件开发者首选的版本控制软件.在这里我想记录我安装Subversion和Apache的过程.注意,Subversion ...