sdut2613(This is an A+B Problem)大数加法(乘法)
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
using namespace std;
char a[1010],b[1010];
int ta[1010],tb[1010];
int main()
{
int l2,l1,l;
while(scanf("%s%s",a,b)!=EOF)
{
memset(ta,0,sizeof(ta));
memset(tb,0,sizeof(tb));
l1=strlen(a);
l2=strlen(b);
if(l1<l2) l=l2;
else l=l1;
for(int i=0;i<l;i++)
{
if(l1-1>=0)
{
ta[i]=a[l1-1]-'0';
l1--;
}
else ta[i]=0;
if(l2-1>=0)
{
tb[i]=b[l2-1]-'0';
l2--;
}
else tb[i]=0;
}
int t;
for(int i=0;i<l;i++)
{
t=ta[i]+tb[i];
if(t>=10)
{
ta[i]=t-10;
ta[i+1]++;
}
else ta[i]=t;
}
int flag=0;
for(int i=l;i>=0;i--)
{
if(flag||ta[i])
{
flag=1;
printf("%d",ta[i]);
}
}
if(!flag) printf("0");//用于解决只有0相加的状况
printf("\n");
}
return 0;
}
Integer Inquiry
#include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> #include <algorithm> using namespace std; int main() { int l1; char a[1001]; int b[1001]; memset(b,0,sizeof(b)); while(scanf("%s",a)!=EOF) { if(a[0]=='0') break; l1=strlen(a); int j=0; for(int i=l1-1; i>=0; i--) { b[j]=b[j]+a[i]-'0'; j++; } } int t; for(int i=0; i<1001; i++) { t=b[i]; if(b[i]>9) { b[i]=t%10; b[i+1]=b[i+1]+t/10; } else b[i]=t; } int flag=0; for(int i=1001-1; i>=0; i--) { if (flag || b[i]) { flag = 1; printf("%d",b[i]); } } if (!flag) printf("0"); printf("\n"); return 0; }
Product
#include <iostream> #include <cstdio> #include <cstring> #include <cstdlib> #include <algorithm> using namespace std; char str1[300],str2[300]; int d[300],f[300],c[601]; int l1,l2,l,w,e; void init() { memset(c,0,sizeof(c)); memset(d,0,sizeof(d)); memset(f,0,sizeof(f)); } int main() { while(scanf("%s",str1)!=EOF) { init(); scanf("%s",str2); l1=strlen(str1); l2=strlen(str2); l=max(l1,l2); w=l1; e=l2; for(int i=0; i<l; i++) { if(l1-1>=0) { d[i]=str1[l1-1]-'0'; l1--; } else d[i]=0; if(l2-1>=0) { f[i]=str2[l2-1]-'0'; l2--; } else f[i]=0; } for(int i=0; i<w; i++) { for(int j=0; j<e; j++) { c[i+j]=c[i+j]+d[i]*f[j]; } } for(int i=0; i<600; i++) { if(c[i]>=10) { c[i+1]+=c[i]/10; c[i]=c[i]%10; } } int flag=0; for(int i=600; i>=0; i--) { if(flag||c[i]) { flag=1; printf("%d",c[i]); } } if(flag==0) printf("0"); printf("\n"); } return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构