蓝桥杯 算法提高 P1001
来源:互联网 发布:淘宝食品类目有哪些 编辑:程序博客网 时间:2024/04/30 04:36
策略是分块乘法(参照这篇帖子讲的非常详细 http://blog.csdn.net/acmman/article/details/20830555),要做的就是根据输入的位数调整进制,需要一点技巧,这里用的是把数字转字符串判断长度,当然还有更好的办法因人而异哪个顺手用哪个。
#include<iostream> #include<sstream>using namespace std;//数字转字符串 string Int_to_String(int n){ostringstream stream;stream<<n; return stream.str();}int main(int argc, char* argv[]) { int R[4];int a,b,M;cin>>a;cin>>b;
//千万别忘了这个不然只有83分最后一组用例过不去 (别问我怎么知道的) if(a==0||b==0){cout<<"0";return 0;} //把数字转成字符串判断位数用于确定M的大小(进制) string stra=Int_to_String(a);int len=stra.length();switch(len){case 2:{M=10;break;}case 3:{M=10;break;}case 4:{M=100;break;}case 5:{M=100;break;}case 6:{M=1000;break;}case 7:{M=1000;break;}case 8:{M=10000;break;}}//分块乘法 int n1,n2,n3,n4;int x1,x2,y1,y2;x1=a%M;x2=a/M;y1=b%M;y2=b/M;n1=x1*y1;n2=x1*y2;n3=x2*y1;n4=x2*y2;R[3]=n1%M;R[2]=n1/M+n2%M+n3%M;R[1]=n2/M+n3/M+n4%M;R[0]=n4/M;//校对近位 R[1]=R[1]+R[2]/M; R[2]=R[2]%M;R[0]=R[0]+R[1]/M;R[1]=R[1]%M;cout<<R[0]<<R[1]<<R[2]<<R[3]; return 0; }
0 0
- 蓝桥杯 算法提高 P1001
- 蓝桥杯 ADV-197 算法提高 P1001
- 蓝桥杯 ADV-197 算法提高 P1001
- 算法提高 P1001
- 算法提高 P1001
- 算法提高 P1001
- 算法提高 P1001
- 算法提高 P1001
- 算法提高 P1001
- 算法提高 P1001
- 算法提高 P1001
- 算法提高 ADV-197 P1001
- 2016蓝桥杯算法提高——P1001(大数乘法)
- P1001 蓝桥杯算法提高-用字符串处理大数乘法
- 算法提高 P1001 (大数乘法)
- 算法提高 P1001 (大数相乘)
- 蓝桥杯 P1001(大数乘法)
- p1001
- windows下设置tomcat内存
- setNeedsUpdateConstraints,needsUpdateConstraints等基于约束的AutoLayer的方法
- 数据结构实验之二叉树二:遍历二叉树
- ASP.NET中GridView使用简单攻略
- 变脸式应用 / 分页列表框架(四)
- 蓝桥杯 算法提高 P1001
- 北漂的程序猿何去何从
- UITableView如何开启极简模式
- Python正则表达式验证邮箱
- IBM HyperLedger fabric基础
- sql 2008获取表字段说明
- 欢迎使用CSDN-markdown编辑器
- clang: a C language family frontend for LLVM
- Android SDK之系统权限