标签:练习题 洛谷 int BUKA m1 m2 长度 getchar size
题面:
https://www.luogu.com.cn/problem/P6467
思路:
它其实就是输出210三个数,2后面N个0或(1后面N个0)*1或*2(也就是2000....,1000....+(100...)*(0/1))
设第一行输入的是N,第三行的是M
N*M的长度是M的长度+N的长度;
N+M(N!=M)要分两段:M长-N长和N长(100010之类的)
M+N(M=N)长度为M长
这个思路做起来就很简单
(虽然我干了好几天(我把各个字符串的长度算错了))(看来我还是太菜了)
一次性AC代码:
1 #include <iostream> 2 #include <stdio.h> 3 4 using namespace std; 5 6 int m1,m2; 7 string b; 8 char n; 9 10 void out(int n,int m) 11 { 12 cout<<n; 13 while(m>0) 14 { 15 cout<<0; 16 m--; 17 } 18 } 19 20 int main() 21 { 22 cin>>b; 23 getchar(); 24 m1=b.size(); 25 cin>>n; 26 getchar(); 27 cin>>b; 28 m2=b.size(); 29 if(m1<m2) 30 { 31 swap(m1,m2); 32 } 33 if(n=='+') 34 { 35 if(m1==m2) 36 { 37 out(2,m1-1); 38 } 39 else 40 { 41 out(1,m1-m2-1); 42 out(1,m2-1); 43 } 44 } 45 else 46 { 47 out(1,m1+m2-2); 48 } 49 return 0; 50 }Code
标签:练习题,洛谷,int,BUKA,m1,m2,长度,getchar,size 来源: https://www.cnblogs.com/WaNgZiYuDaNu/p/13537047.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。