[namespace hdk] StringAddition_InFix
namespace hdk{
const size_t fixsize=10000;
class StringAddition_InFix{
private:
string x="00";
inline void fixed(int size){
if(size<=x.length())return;
string res;
for(int i=1;i<=size-x.length();++i){
res.push_back('0');
}
for(int i=0;i<=x.length()-1;++i){
res.push_back(x[i]);
}
x=res;
}
inline void refixed(){
string res;bool is0=false;
res.push_back('0');
for(int i=0;i<=x.length()-1;++i){
if(x[i]!='0'||is0){
is0=true;
res.push_back(x[i]);
}
}
x=res;
}
public:
void operator =(string inx){
x.push_back('0');
for(int i=0;i<=inx.length()-1;++i){
x.push_back(inx[i]);
}
}
void operator =(long long inx){
x.clear();string ans;
int r=inx;
while(r){
ans.push_back(r%10+'0');
r/=10;
}
x.push_back('0');
for(int i=ans.size()-1;i>=0;--i){
x.push_back(ans[i]);
}
}
string it(){
string res;
for(int i=1;i<=x.length()-1;++i){
res.push_back(x[i]);
}
if(res.empty()) res="0";
return res;
}
StringAddition_InFix operator +(StringAddition_InFix a){
StringAddition_InFix ans;ans=a;
if(x.length()>ans.x.length()){
ans.fixed(x.length());
}
else fixed(ans.x.length());
for(int i=max(x.length(),ans.x.length())-1;i>=1;--i){
int np=(ans.x[i]-'0'+x[i]-'0');
if(np>=10) ans.x[i-1]+=np/10;
ans.x[i]=np%10+'0';
}
ans.refixed();refixed();
return ans;
}
StringAddition_InFix operator +(long long a){
StringAddition_InFix r;r=a;
return *this+r;
}
void operator +=(StringAddition_InFix a){
*this=*this+a;
}
void operator +=(long long a){
*this=*this+a;
}
friend ostream& operator<<(ostream& output,StringAddition_InFix& inx){
output<<inx.it()<<endl;
return output;
}
friend istream& operator>>(istream& input,StringAddition_InFix& inx){
input>>inx.x;
inx.fixed(inx.x.length()+1);
return input;
}
};
typedef StringAddition_InFix Int;
Int max(Int &la,Int &lb){
if(la.it()>lb.it()) return la;
else return lb;
}
Int min(Int &la,Int &lb){
if(la.it()<lb.it()) return lb;
else return la;
}
}
[namespace hdk] StringAddition_InFix的更多相关文章
- springcloud必知功能使用教程
springcloud Spring Cloud是一系列框架的有序集合.它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册.配置中心.消息总线.负载均衡.断路 ...
- 理解Docker(3):Docker 使用 Linux namespace 隔离容器的运行环境
本系列文章将介绍Docker的有关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 ...
- C++ namespace
namespace, 命名空间, 用于解决命名冲突的问题. Python中的package/module, Javascript中的object, Java中的package都具有这样的功能. 如何使 ...
- C++ 之namespace常见用法
一.背景 需要使用Visual studio的C++,此篇对namespace的常用用法做个记录. 二.正文 namespace通常用来给类或者函数做个区间定义,以使编译器能准确定位到适合的类或者函数 ...
- using namespace std 和 using std::cin
相较using std::cin使用using namespace std不会使得程序的效率变低,或者稳定性降低,只是这样作会将很多的名字引入程序,使得程序员使用的名字集合变小,容易引起命名冲突. 在 ...
- Why Namespace? - 每天5分钟玩转 OpenStack(102)
上一节我们讨论了 Neutron 将虚拟 router 放置到 namespace 中实现了不同 subnet 之间的路由.今天探讨为什么要用 namespace 封装 router? 回顾一下前面的 ...
- struts2中错误There is no Action mapped for namespace [/] and action name [] associated with context path
1 There is no Action mapped for namespace [/] and action name [] associated with context path [/Stru ...
- PHP 命名空间(namespace)
PHP 命名空间(namespace) PHP 命名空间(namespace)是在PHP 5.3中加入的,如果你学过C#和Java,那命名空间就不算什么新事物. 不过在PHP当中还是有着相当重要的意义 ...
- AMD and CMD are dead之Why Namespace?
缘由 当我看到_Franky兄的微博的时候: 我觉得我有必要出来详细说说KMDjs到底有什么本质上的优势了,连教主_Franky.貘吃馍香都不能理解他的好处,那么可想而知,在前端圈.或是全端圈.或是I ...
- 使用mvc时,在视图view中使用强类型视图,在web.config文件中添加命名空间namespace的引用不起作用,解决方法
这是view中的model代码: @model t_user_info 这是web.config配置文件只的代码: <namespaces> <add namespace=" ...
随机推荐
- JavaScript实现防抖函数
什么是防抖?防抖就是避免快速多次点击后执行过多的函数调用,就是本来你点击支付宝支付后不小心在点击一次,导致支付函数被调用了两次,还都执行了,付了两次钱. 防抖函数的思想就是将函数延迟调用,延迟时间内不 ...
- 计算机网络中的检验和(checksum)(包括计算文件的检验和附有c++代码)
介绍: 检验和(checksum),在数据处理和数据通信领域中,用于校验目的地一组数据项的和.它通常是以十六进制为数制表示的形式.如果校验和的数值超过十六进制的FF,也就是255. 就要求其补码作为校 ...
- html5 video标签 去掉边框黑线
只需在样式中添加: mix-blend-mode: darken; 注意:IE和Edge浏览器不支持mix-blend-mode属性
- 关于SpringBoot中事务回滚没有生效
在SpringBoot中,事务回滚可以用注解@Transactional标识. Spring声明式事务管理默认对非检查型异常和运行时异常进行事务回滚,而对检查型异常则不进行回滚操作. 1.非检查型异常 ...
- 解决004--Loading local data is disabled; this must be enabled on both the client and server sides问题及解决
因为下载了SQLyog的ultimate版本,现在就可以导入外部的数据了.有着之前使用insert into插入语句来添加近50条有着大概10个字段的记录的经历之后,本着能够导入现成的数据就导入的想法 ...
- 人形机器人 —— NVIDIA公司给出的操作算法(动态操作任务,dynamic manipulation tasks)(机械手臂/灵巧手)框架示意图 —— NVIDIA Isaac Manipulator
原文: https://developer.nvidia.com/isaac/manipulator#foundation-models NVIDIA公司准备针对人形机器人的各部分操作分别推出一个AI ...
- mojo编程语言:mojo调用python库及内置函数builtins
编程语言mojo调用python十分方便,mojo不仅可以调用python的库函数更可以调用python的内置函数(builtins),给出示例代码: from python import Pytho ...
- 记录实验室深度学习服务器显卡硬件故障的排查——RmInitAdapter failed! rm_init_adapter failed
实验室突然通知我说是深度学习的服务器无法查看GPU,并且在GPU上运行的程序也halt on,需要解决.于是查询服务器的运行日志得到下面的信息: Nov 10 01:33:23 dell kernel ...
- Docker部署rabbitmq遇到的问题
1.背景 Docker部署rabbitmq遇到的如下两个问题 问题一:访问交换机时报错 Management API returned status code 500 问题二:访问channel时报错 ...
- POI1999 Store-keeper 题解
前言 题目链接:洛谷:SPOJ:hydro & bzoj. \(\Theta(nm)\) 的算法. 题意简述 在一个划分为 \(n \times m\) 个区域的二维仓库中,称有公共边的两个区 ...