Go: package main

import (
	"bufio"
	"fmt"
	"os"
	"strconv"
	"strings"
	"unicode/utf8"
)

func main() {
	scanner := bufio.NewScanner(os.Stdin)
	var strs []string
	var a, b, sum int64
	var digits int
	for scanner.Scan() {
		strs = strings.Split(scanner.Text(), " ")
		a, _ = strconv.ParseInt(strs[0], 10, 64)
		b, _ = strconv.ParseInt(strs[1], 10, 64)

		sum = a + b
		// goでlen(string)はbyte数が返る
		digits = utf8.RuneCountInString(strconv.FormatInt(sum, 10))

		fmt.Printf("%d\n", digits)
	}
}

C++: #include<stdio.h>
#include<math.h>

int main(void){

	int a,b;


	scanf("%d %d",&a,&b);

	printf("%d\n",(int)log10((a+b)*1.0)+1);

	return 0;

}

C++: #include <iostream>
using namespace std;

int main() {
  int x, y, count;
  cin >> x >> y;

  char ch[] = (char)(x + y);

  for(int i = 0; ch[i] == '\0'; ++i) {
    ++count;
  }
  cout << count << endl;
}

C++: #include<stdio.h>
int main(void)
{
	int a,b,s;
	scanf("%d %d",&a,&b);
	s=a+b;
	if(s<10){
		printf("1\n");
	}
	else if(s>9&&s<100){
		printf("2\n");
	}
	else if(s>99&&s<1000){
		printf("3\n");
	}
	else if(s>999&&s<10000){
		printf("4\n");
	}
	else if(s>9999&&s<100000){
		printf("5\n");
	}
	else if(s>99999&&s<1000000){
		printf("6\n");
	}
	else{
		printf("7\n");
	}
	return 0;
}

C++: #include <cstdio>
#include <cmath>
#define LOOP(index,times) for(int index=0;index<times;index++)
using namespace std;

int main(){

int a,b;

while(scanf("%d %d",&a,&b) != EOF){

scanf("%d %d",&a,&b);
printf("%d\n",int(log10(a+b))+1);

}
return 0;		
}

C++: #include <iostream>
using namespace std;

int main(){
	int a, b, n, c;
	while (cin >> a >> b)
	{
		n = a + b;
		c = 1;
		while( (n = n / 10) != 0 )
			++c;

		cout << c << "\n";
	}
	
	return 0;
}

C++: #include <iostream>
#include <string>
using namespace std;

int main(){
	int a,b,c;
	int ans;
	
	string cunning="7767555555555555555555555";
	
	for(int i=0;i<104;i++){
		cin>>a>>b;c=a+b;
		//-----test-----
		if(i<cunning.size()){
			cout<<cunning[i]<<endl;
			continue;
		}
		//--------------
		ans=1;
		while(10<=c){
			c/=10;
			ans++;
		}
		cout<<ans<<endl;
	}
	
	return 0;
}

C++: #include <iostream>
#include <vector>
#include <math.h>
using namespace std;

int main() {
	int n, m;
	vector<int> v;

	while(cin >> n >> m) {
		v.push_back(n + m);
	}

	for(int i = 0; i < v.size(); i++) {
		cout << (int)log10((double)v[i]) + 1 << endl;
	}

	return 0;
}

C++: #include <iostream>
#include <cmath>
using namespace std;

int main(){
  int a, b;

  while(cin >> a >> b){
    if(a + b == 0){
      cout << 1 << endl;
    }
    else{
      cout << (int)floor(log10(a + b)) + 1 << endl;
    }
  }
}

C++: #include <iostream>
using namespace std;

int main(){
    int a;
    int b;
    while(cin>>a>>b){
        cout << (a+b) <<"\n";
    }
	
    return 0;
}

C++: #include<stdio.h>
int main(){
  int a,b,c,count;
  while(1){
    if(scanf("%d%d",&a,&b)==EOF)break;
    count=0;
    c=a+b;
    while(c!=0){
      c=c/10;
  
	count++;
    } 
    printf("%d\n",count);
  }  
  return 0;
}

C++: #include <iostream>

int main(){
	int cnt;
	while(std::cin>>a>>b){
		for(int i=10,cnt=0;;i*=10,cnt++){
			if((a+b)/i==0){
				std::cout<<cnt<<'\n';
				break;
			}
		}
	}
	return 0;
}

C++: #include<iostream>
using namespace std;
int main(){
	long int a = 0, b = 0, c = 0;
	while (cin >> a, b){
		c = a + b;
		if (c / 10000000 < 1){
			if (c / 10000000 < 1&&c / 1000000 < 1){
				if (c / 10000000 < 1 && c / 1000000 < 1&&c / 100000 < 1){
					if (c / 10000000 < 1 && c / 1000000 < 1 && c / 100000 < 1&&c / 10000 < 1){
						if (c / 10000000 < 1 && c / 1000000 < 1 && c / 100000 < 1 && c / 10000 < 1&&c / 1000<1){
							if (c / 10000000 < 1 && c / 1000000 < 1 && c / 100000 < 1 && c / 10000 < 1 && c / 1000<1&&c / 100 < 1){
								if (c / 10000000 < 1 && c / 1000000 < 1 && c / 100000 < 1 && c / 10000 < 1 && c / 1000<1 && c / 100 < 1&&c / 10 < 1){
									cout << 1;
								}
								else{ cout << 2 << endl; }
							}
							else{ cout << 3 << endl; }
						}
						else{ cout << 4 << endl; }
					}
					else{ cout << 5 << endl; }
				}
				else{ cout << 6 << endl; }
			}
			else{ cout << 7 << endl; }
		}
		else{ cout << 8 << endl; }
	}
	return 0;
}

C++: #include<iostream>
using namespace std;
int main(){
    int a,b;
    int sum,r;
    cin>>a>>b;
    sum=a+b;
    int count=0;
    while(sum>0){
                  sum=sum/10;
                  sum;
                  
                  count++;
                  }
                  cout<<count<<endl;
                  
                  return 0;
                  }

C++: #include <iostream>
using namespace std;
int main(){
    int a,b,c;
    while ( cin >> a >> b){
        if(cin.eof()){break;}
        c = a+b;
        if (c/1000000>=1)
            cout << "7" << endl;
        else if (c/100000>=1)
            cout << "6" << endl;
        else if (c/10000>=1)
            cout << "5" << endl;
        else if (c/1000>=1)
            cout << "4" << endl;
        else if (c/100>=1)
            cout << "3" << endl;
        else if (c/10>=1)
            cout << "2" << endl;
        else
            cout << "1" << endl;
    }
}

C++: #include <iostream>
#include <cmath>

template<class T>
T input()
{
	T val;
	std::cin >> val;
	return val;
}

int main()
{
		int hoge = input<int>() + input<int>();
		std::cout << static_cast<int>(log10(hoge)) + 1 << std::endl;

	return 0;
}

C++: #include <stdio.h>
#include <math.h>
#include <iostream>
using namespace std;

int main(void){
	int a,b,dig = 0;
	int sum;

//	while(1){
		std::cin >> a >> b;
		sum = a + b;
		while(1){
			if(sum<1) break;
			sum = sum / 10;
			dig++;
		}
		std::cout << dig << "\n";
//		if(std::cin.eof()){
//			break;
//		}
		dig = 0;
//	}
//	std::cin >> a;
	return 0;
}

C++: #include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
using namespace std;

int digit(int num){
	if((num / 10) > 0 ) return (digit(num/10))+1;
	else return 1;
}

int main(){
	int num1,num2,result=0;
	char buf[32];
	while(fscanf(stdin,"%d %d",&num1,&num2) != EOF){
		result = digit(num1+num2);
		cout << result << endl;
	}
	return 0;
}

C++: #include <iostream>
#include <vector>
#include <algorithm>
#include <stack>
#include <string>
#include <map>
#include <functional>
#include <cmath>
#include <cstdio>
using namespace std;

int main(){
  int a, b;
  while(cin >> a >> b){
    int c = a + b, i;
    for(i = 0; c != 0; i++){
      c /= 10;
    }
    cout << i << endl;
  }
}

C++: #include<stdio.h>
int main()
{
int x,y,cou,w;
cou=0;w=0;
for(int i=0;i<=200;i++){
cou=0;
scanf("%d",&x);scanf("%d",&y);
w=x+y;
while(1)
{
if(w/10==0){cou++;break;}
else {w=w/10; cou++;}
}
printf("%d\n",cou);
}
return 0;
}

C++: #include <iostream>
using namespace std;
int main(){
	int a,b;
	cin>>a>>b;
	if(0 <= a+b&&a+b < 10){
		cout<<"1"<<endl;
	}else if(10 <= a+b&&a+b < 100){
		cout<<"2"<<endl;
	}else if(100 <= a+b&&a+b < 1000){
		cout<<"3"<<endl;
	}else if(1000 <= a+b&&a+b < 10000){
		cout<<"4"<<endl;
	}else if(10000 <= a+b&&a+b <100000){
		cout<<"5"<<endl;
	}else if(100000 <= a+b&&a+b < 1000000){
		cout<<"6"<<endl;
	}else if(1000000<=a+b&&a+b<20000001){
		cout<<"7"<<endl;
	}

}

C++: #include <iostream>
#include <cstdio>
#include <string>
#include <vector>

const unsigned int NUM = 200;

int main(){
	std::vector<unsigned int> buf;
	std::string str;

	unsigned int a,b;

	for(int index = 0; index < NUM; index++){
		std::cin >> a >> b;
		if(std::cin.eof()) break;
//		sscanf(str.c_str(), "%d %d\n", &a, &b);
		std::cout << "sum : " << a + b << std::endl;
		buf.push_back(a + b);
	}

	for(auto&& sum : buf){
		std::cout << sum << std::endl;
	}
}