7 条题解

  • 3
    @ 2026-6-5 15:18:16
    using namespace std;
    int main(){
        int a,b;
        cin>>a>>b;
        cout<<a+b;
        
        return 0;
    }
    
    
    • 1
      @ 2026-7-24 17:26:36

      using namespace std; int main(){ int a,b; cin>>a>>b; cout<<a+b;

      return 0;
      

      }

      • 1
        @ 2026-2-4 20:44:53

        T2 a+b的题解

        对于初学者,我们可以使用心算

        cout<<a+b<<endl;)。

        而这是利用数组模拟现实中的竖式计算完成的加法。 是的没错就是你小学学的那个 在这篇代码里我使用了voidvoid函数,所以逐个函数进行解析:

        一,void clear(int a[]): 就像它的名字一样, clearclear 函数的作用是清空数组a[i]a[i]

        二,void read(int a[]): charchar 定义一个字符串 ss ,通过字符串类型数值对字符'0'做减法来把读入的字符串转化成数字,存到 a[i]a[i] 数组里去。

        三,void print(int a[]): 相信对C语言以及C与C++相通的部分有所了解的同学们一定对 printf() 这个函数不陌生吧,这里 printprint 就是对答案先加上一个字符 '0' ,再用 putchar() 从标准输出输出一个字符串答案。

        四,add(int a[], int b[], int c[]) 高精度加法的核心,将字符串 aa , bb 通过模拟竖式计算做加法,把答案存在数组 cc 里面。

        
        #include<bits/stdc++.h>
        using namespace std;
        
        
        const int len = 1000004;
        
        int a[len], b[len], c[len];
        
        void clear(int a[]) {
        	for (int i = 0; i < len; ++i) a[i] = 0;
        }
        
        void read(int a[]) {
        	static char s[len + 1];
        	scanf("%s", s);
        
        	clear(a);
        
        	int len = strlen(s);
        	for (int i = 0; i < len; ++i) a[len - i - 1] = s[i] - '0';
        }
        
        void print(int a[]) {
        	int i;
        	for (i = len - 1; i >= 1; --i)
        		if (a[i] != 0) break;
        	for (; i >= 0; --i) putchar(a[i] + '0');
        	putchar('\n');
        }
        
        void add(int a[], int b[], int c[]) {
        	clear(c);
        	for (int i = 0; i < len - 1; ++i) {
        		c[i] += a[i] + b[i];
        		if (c[i] >= 10) {
        			c[i + 1] += 1;
        			c[i] -= 10;
        		}
        	}
        }
        
        int main() {
        	read(a);
        	read(b);
        
        	add(a, b, c);
        	print(c);
        
        
        	return 0;
        }
        //by hina
        //BlueArchive!
        

        高精度好玩捏

        • -2
          @ 2026-7-10 16:54:51
          #include<iostream>
          signed main(){
              int a,b;std::cin>>a>>b;
              std::cout<<a+b;
          }
          
          • -2
            @ 2026-7-10 16:54:37
            #include<iostream>
            signed main(){
                int a,b;std::cin>>a>>b;
                std::cout<<a+b;
            }
            
            • -2
              @ 2026-2-13 10:21:55

              #include<bits/stdc++.h> using namespace std;

              int main() { int a,b; cin >> a >> b; cout << a+b << endl; return 0; }

            • -3
              @ 2026-7-24 16:28:48

              解析:大小超过short!时间复杂度超过O(0)!输入输出格式无法理解!这道题十分难,应该是道黑题,所以看到数学的标签,我就知道这题可以用二进制,上代码:

              #include <iostream>
              #include <cstdio>
              #include <cstring>
              #include <string>
              #include <algorithm>
              #include <vector>
              #include <queue>
              #include <stack>
              #include <set>
              #include <map>
              #include <unordered_set>
              #include <unordered_map>
              #include <cmath>
              #include <cstdlib>
              #include <ctime>
              #include <climits>
              #include <cctype>
              #include <cassert>
              #include <numeric>
              #include <functional>
              #include <bitset>
              #include <deque>
              #include <list>
              #include <tuple>
              #include <utility>
              #include <iterator>
              #include <sstream>
              #include <fstream>
              #include <iomanip>
              #include <limits>
              #include <chrono>
              #include <random>
              #include <cstdint>
              #include <cstddef>
              #include <cfloat>
              #include <cwchar>
              #include <array>
              #include <memory>
              using namespace std;
              long long bi(long long x,long long y){
                  long long res;
                  long long temp;
                  long long carry;
                  while(true){
                      res=x^y;
                      temp=x&y;
                      carry=temp<<1;
                      if(carry==0){
                          break;
                      }
                      x=res;
                      y=carry;
                  }
                  return res;
              }
              int main(){
                  long long a;
                  long long b;
                  cin>>a;
                  cin>>b;
                  cout<<bi(a,b)<<endl;
                  return 0;
              }
              
              
            • 1

            信息

            ID
            2
            时间
            1000ms
            内存
            256MiB
            难度
            1
            标签
            递交数
            630
            已通过
            278
            上传者