| 题目名称 | 38. 增强的减法问题 |
|---|---|
| 输入输出 | sub.in/out |
| 难度等级 | ★ |
| 时间限制 | 1000 ms (1 s) |
| 内存限制 | 128 MiB |
| 测试数据 | 10 |
| 题目来源 |
|
| 开放分组 | 全部用户 |
| 提交状态 | |
| 分类标签 | |
| 查看题解 | 分享题解 |
| 通过:578, 提交:1760, 通过率:32.84% | ||||
|
|
100 | 0.000 s | 0.00 MiB | C++ |
|
|
100 | 0.000 s | 0.00 MiB | C++ |
|
|
100 | 0.000 s | 0.00 MiB | Pascal |
|
|
100 | 0.000 s | 0.00 MiB | C++ |
|
|
100 | 0.000 s | 0.00 MiB | C++ |
|
|
100 | 0.000 s | 0.00 MiB | C++ |
|
|
100 | 0.000 s | 0.00 MiB | C++ |
|
|
100 | 0.000 s | 0.00 MiB | C++ |
|
|
100 | 0.000 s | 0.00 MiB | C++ |
|
|
100 | 0.000 s | 0.00 MiB | C++ |
| 本题关联比赛 | |||
| 基本练习 | |||
| NOIP2015普及组练习 | |||
| 防止浮躁的小练习v0.4 | |||
| 关于 增强的减法问题 的近10条评论(全部评论) | ||||
|---|---|---|---|---|
|
如果用strlen建议百度搜索一下比较原理,如果仅用strlen比较字符串大小,第二组数据是会错的
2018-10-21 20:31
21楼
| ||||
|
#include<iostream>
#include<cstdio> #include<cstring> #include<string> using namespace std; int main() { freopen("gjsub.in","r",stdin); freopen("gjsub.out","w",stdout); string sd,se,sa; int a[100001]={0},b[100001]={0},c[100001]={0},mc,me,mz,n,mo=0; cin>>sd>>se; mc=sd.size(); me=se.size(); if(mc<me||mc==me&&sd<se) { sa=sd;sd=se;se=sa;n=mc;mc=me;me=n;mo=-1; } for(int i=1;i<=mc;i++) a[i]=sd[mc-i]-'0'; for(int i=1;i<=me;i++) b[i]=se[me-i]-'0'; int i=1,o=0; while(i<=mc||i<=me) { if(a[i]<b[i]){a[i+1]--;a[i]+=10;} c[i]=a[i]-b[i]; i++; } mz=i; while(c[mz]==0&&mz>1)mz--; if(mo==-1) cout<<"-"; for(int i=mz;i>=1;i--) cout<<c[i]; return 0; } 终于做出来了:-)
2018-10-10 20:01
20楼
| ||||
|
好难啊...
我以为很简单的 | ||||
|
第一错的原因是减法的运算律写错了、、、
| ||||
|
一晚上手写大整数封装,加减乘除大小等加上取模,不要白不要
| ||||
|
到了这里才发现自己的高精减有错!
2016-08-16 14:03
16楼
| ||||
|
一水就过,测试高精度模板用
| ||||
|
终于过的,成就感皱皱的
| ||||
|
细节真多,特别是答案中有零的时候。
2016-04-09 16:15
13楼
| ||||
|
wocccccccccccccccccccccccccc!!!!!!!!!!!!!!!!!
这题的特殊情况太TM多了!!!!!!!!!!! 各种懵逼,总共试了四次!
2016-04-09 16:13
12楼
| ||||