[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=" ...
随机推荐
- [rCore学习笔记 09]为内核支持函数调用
在[[08 内核第一条指令|上一节]]我们使用了编写entry.asm函数中编写了内核的第一条指令,但是我们使用的汇编.这里注意我们仍然是嵌入了这段asm代码到我们的rust代码之中,然后进行编译.但 ...
- vue小知识~eventBus
eventBus是指在向全区暴露这个vue对象,此时在任意一个地方都可以使用vue相关的实例 在main.js配置 Vue.prototype.$bus=new Vue() 此时整个应用都可以使用vu ...
- 封装的grid控件
class CGridCtrl : public CWnd { DECLARE_DYNAMIC(CGridCtrl) public: void Create(CWnd* pParent, DWORD ...
- [ABC363G] Dynamic Scheduling 与 P4511 [CTSC2015] 日程管理
思路: 对于插入操作,设插入 \(\{t,p\}\): 若当前 \(1 \sim t\) 有空位,那么就放进去. 否则,\(1 \sim t\) 是被塞满了的: 首先容易想到的是找到 \(1 \sim ...
- java引入es使用
引入依赖 <dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>el ...
- 在Linux中清理Buff/cache
在 Linux 中,缓冲区和缓存是为提高系统性能而保留的,但如果这些缓存过多,可能会消耗大量内存,影响系统的性能.有时候,您可能需要手动清理这些缓存以释放内存.但请注意,通常不建议定期或频繁地这样做, ...
- C# 推荐一种开机自启动的方式
概述(Overview) 网上多数搜索结果以注册表设置为优先,这个方法需要管理员权限,实际工作中可能并不适用.这个方法是直接写到用户开机自启动目录里,系统开机会带着一起启动.(Most search ...
- BI 工具助力企业解锁数字化工厂,开启工业智能新视界
背景 在 2022 年公布的<"十四五"数字经济发展规划>中,政府不断增加对制造业数字化转型的政策支持力度,积极倡导制造企业采用最新技术,提升自动化.数字化和智能化水平 ...
- 【Spring】08 后续的学习补充 vol2
1.[纯注解配置实现] 首先实现纯注解配置的第一件事情就是删除XML文件 然后编写一个类用于代替XML文件实现配置功能: 使用@Configuration将这个类注册为Spring容器 使用@Comp ...
- Orleans初体验
Orleans: 是一个跨平台框架,用于构建可靠且可缩放的分散式应用. 分布式应用定义为跨多个进程的应用,通常使用对等通信来超越硬件边界. 从单个本地服务器扩展到了云中数千个分布式.高度可用的应用. ...