[Hanani]JAVA大数相关学习记录
1.Basic remains 题目链接
涉及内容:
|大数读入|大数模|大数进制读入时转化为十进制|大数输出时转化为其他进制输出|
import java.io.*;
import java.math.*;
import java.util.*;
import java.text.*;//各种头文件
public class Main {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);//读入
int b;
BigInteger p,m;
while(cin.hasNextInt()) {
b = cin.nextInt();
if(b==0) break;
p = cin.nextBigInteger(b);//把读入的各种进制转化为10进制
m = cin.nextBigInteger(b);
BigInteger k = p.mod(m);//大数模
String ans = k.toString(b);//将数字转化为字符串(b进制)
System.out.println(ans);
}
}
}
2.Octal Fractions 题目链接
涉及内容:
|大小数|去尾零|
import java.util.*;
import java.math.*;
public class Main{
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
while(cin.hasNext()) {
String s = cin.nextLine();//读入一行字符串
BigDecimal a = BigDecimal.ZERO;//读入大小数
BigDecimal b = BigDecimal.ONE;
for (int i = 2; i < s.length(); i++) {//处理小数点后的数字
double d = s.charAt(i) - '0';//java中的字符串中字符获取s.charAt()
b = b.divide(BigDecimal.valueOf(8));//大小数除
a = a.add(b.multiply(BigDecimal.valueOf(d)));//ans加
}
System.out.println(s + " [8] = " + a.stripTrailingZeros() + " [10]");
//a.stripTrailingZeros()去除末尾零
}
}
}
3.NUMBER BASE CONVERSION 题目链接
涉及内容:
|BigInteger与int转化|
import java.util.*;
import java.math.*;
public class Main{
static int ctoi(char cc) {
if (cc >= '0' && cc <= '9') return cc - '0';
else if(cc >= 'A' && cc <= 'Z') return cc - 'A' + 10;
else return cc - 'a' +36;
}
static char itoc(int now) {
if (now >= 0 && now <= 9) return (char) (now + '0');//记得括号
else if (now >= 10 && now <= 35) return (char) (now - 10 + 'A');
else return (char) (now - 36 + 'a');
}
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
int n;
n = cin.nextInt();
for (int i = 1; i <= n; i++) {
int a = cin.nextInt();
int b = cin.nextInt();
String s = cin.next();
BigInteger now = BigInteger.valueOf(0);
BigInteger c = BigInteger.valueOf(1);
for (int j = s.length()-1; j >= 0; j--) {
now = now.add(c.multiply(BigInteger.valueOf(ctoi(s.charAt(j)))));
c = c.multiply(BigInteger.valueOf(a));
}
String ans = "";
while (!now.equals(BigInteger.valueOf(0))) {
ans = itoc(now.mod(BigInteger.valueOf(b)).intValue()) + ans;//intValue()注意下
now = now.divide(BigInteger.valueOf(b));
//System.out.println(now);
}
if (ans.equals("")) ans = "0";空串判定
System.out.println(a + " " + s);
System.out.println(b + " " + ans);
System.out.println("");
}
}
}
[Hanani]JAVA大数相关学习记录的更多相关文章
- java 项目相关 学习记录
一位资深程序员大牛给予Java初学者的学习路线建议 [任何时期都可以好好看看] https://www.imooc.com/article/8993 https://www.jianshu.com/ ...
- Yii2的相关学习记录,下载Yii2(一)
原先学习过Yii1的相关知识,虽然也是半懂不懂的,但稍微的结构是了解的.现在利用晚上的时间学习下Yii2的使用,打算建一个后台管理系统,这里记录下,以免自己以后忘记. 目前已看一部分Yii2的权威指南 ...
- 使用hibernate更新数据库记录的信息的相关学习记录
截选代码(可能遗漏标点符号): package name.sql; import java.util.List; import name.session.HibernateSessionFactory ...
- Yii2的相关学习记录,前后台分离及migrate使用(七)
最近一直忙其它的(其实是懒!),将<深入理解Yii2>看了一遍,一些当初没明白的稍微明了了点,然后又看yii2的图片上传等处理.富文本.restful什么的,但由于没进行到这里,只看也不管 ...
- Yii2的相关学习记录,alert等美化、confirm异步、session中的flash及小部件的使用(六)
呃,系统自带的alert.confirm等弹出框实在是难看,作为一个颜控,这能忍? 这里我用的是kartik-v/yii2-dialog,这个是基于bootstrap3-dialog这个来做了一些常用 ...
- Yii2的相关学习记录,初始化Yii2(二)
前面已经将Yii2下载下来了,那我们就需要能实际的使用. 一.初始化,因为我都是在windows系统下,所以用cmd命令打开下载下来的Yii2的根目录.然后运行下面命令: init 会提示选择0为开发 ...
- 转:java高并发学习记录-死锁,活锁,饥饿
死锁 两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去. 为什么会产生死锁: ① 因为系统资源不足. ② 进程运行推进的顺序不合适. ③ ...
- linux 相关学习记录
(一)概念① 物理CPU实际Server中插槽上的CPU个数物理cpu数量,可以数不重复的 physical id 有几个② 逻辑CPU /proc/cpuinfo 用来存储cpu硬件信息的信息内容分 ...
- JAVA 动态代理学习记录
打算用JAVA实现一个简单的RPC框架,看完RPC参考代码之后,感觉RPC的实现主要用到了两个方面的JAVA知识:网络通信和动态代理.因此,先补补动态代理的知识.---多看看代码中写的注释 参考:Ja ...
随机推荐
- centos httpd开启https服务并申请免费https
安装httpd yum -y install httpd httpd配置文件路径 /etc/httpd/conf/httpd.conf 安装OpenSSL yum install mod_ssl o ...
- olivettifaces数据集实现人脸识别代码
数据集: # -*- coding: utf-8 -*- """ Created on Wed Apr 24 18:21:21 2019 @author: 92958 & ...
- PAT乙级真题及训练题 1025. 反转链表 (25)
PAT乙级真题及训练题 1025. 反转链表 (25) 感觉几个世纪没打代码了,真是坏习惯,调了两小时把反转链表调出来了,心情舒畅. 这道题的步骤 数据输入,数组纪录下一结点及储存值 创建链表并储存上 ...
- 团队作业7——第二次项目冲刺(Beta版本)day2
项目成员: 曾海明(组长):201421122036 于波(组员):201421122058 蓝朝浩(组员):201421122048 王珏 (组员):201421122057 叶赐红(组员):20 ...
- CentOS7+Nginx设置Systemctl restart nginx.service服务
centos 7上是用Systemd进行系统初始化的,Systemd 是 Linux 系统中最新的初始化系统(init),它主要的设计目标是克服 sysvinit 固有的缺点,提高系统的启动速度.关于 ...
- Python3使用tkinter编写GUI程序
目录 @(Python3中tkinter写的HTTP测试工具代码支持正则表达式和XPATH) 程序非常简单,暂时只支持GET方法,使用内置库tkinter编写GUI窗口,在Mac下运行效果图如下,wi ...
- 如何在Drupal7中用代码批量创建节点、评论和分类
最近,我忙于一个网站迁移工作.网站是使用某个老式CMS建立的,有一定数量的文章.不同的分类数据和用户评论.我的团队被雇来把这些数据从这个浪费人力物力的老式CMS上完整的迁移到功能更现代的开源Drupa ...
- 第11章 GPIO输出—使用固件库点亮LED
第11章 GPIO输出—使用固件库点亮LED 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku. ...
- 20155217《网络对抗》Exp03 免杀原理与实践
20155217<网络对抗>Exp03 免杀原理与实践 实践内容 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程 ...
- 20155234 Exp3 免杀原理与实践
使用msf编码器生成jar包 使用指令:msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.157.141 lport=5234 x> ...