您的位置:首页 > 房产 > 建筑 > 中国排名前十的企业_怎么看网站有没有被收录_网站推广策划书_手机如何制作网页链接

中国排名前十的企业_怎么看网站有没有被收录_网站推广策划书_手机如何制作网页链接

2025/5/7 23:59:30 来源:https://blog.csdn.net/in_seattle/article/details/145931264  浏览:    关键词:中国排名前十的企业_怎么看网站有没有被收录_网站推广策划书_手机如何制作网页链接
中国排名前十的企业_怎么看网站有没有被收录_网站推广策划书_手机如何制作网页链接

🌈个人主页:羽晨同学 

 💫个人格言:“成为自己未来的主人~” 

题目链接

记录详情 - 洛谷 | 计算机科学教育新生态https://www.luogu.com.cn/record/205122671

思路讲解

这个题目的解题思路,其实是和高精度加法是非常像的。怎么说呢,其实开始的时候,由于范围受限的原因,所以我们必须把数字存到字符串中,然后用倒序,存到数组中,然后进行高精度减法,进行高精度减法的时候,我们可以逐个相减,然后如果减下的数字小于0,那么+10,前一位减一,最终从非0的第一位开始输出。

代码实现

/*高精度减法*/
#include<iostream>
#include<string>
using namespace std;
const int N = 1e6+10;
int a[N],b[N],c[N];
typedef long long LL;
LL la,lb,lc;
void sub(int a[],int b[],int c[])
{for(int i=0;i<lc;i++){c[i]+=a[i]-b[i];if(c[i]<0){c[i]+=10;c[i+1]--;}}if(c[lc-1]==0) lc--;while(c[lc]==0){if(lc==0){break;}lc--;}
}
int main()
{string x,y;cin>>x>>y;//默认x比y大if((y.size()>x.size())||(y.size()==x.size()&&y>x)){swap(x,y);cout<<"-";}la=x.size();lb=y.size();lc=max(la,lb); for(int i=x.size()-1;i>=0;i--) a[la-1-i]=x[i]-'0';for(int i=y.size()-1;i>=0;i--) b[lb-1-i]=y[i]-'0';sub(a,b,c);for(int i=lc;i>=0;i--) cout<<c[i];return 0;
}

 好了,今天的内容就到这里,我们明天再见。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com