Go: package main

import (
	"bufio"
	"fmt"
	"os"
	"strconv"
	"strings"
)

func sliceAtoi(sa []string) ([]int, error) {
	si := make([]int, 0, len(sa))
	for _, a := range sa {
		i, err := strconv.Atoi(a)
		if err != nil {
			return si, err
		}
		si = append(si, i)
	}
	return si, nil
}

func getDigits(ary []int) (digits int) {
	sum := 0
	for _, v := range ary {
		sum += v
	}

	for sum != 0 {
		sum /= 10
		digits++
	}
	return
}

func getsTwoNumAsArray() (nums [][]int) {
	scanner := bufio.NewScanner(os.Stdin)

	for scanner.Scan() {
		str := scanner.Text()
		if str == "" {
			break
		}

		ary, _ := sliceAtoi(strings.Split(str, " "))
		nums = append(nums, ary)
	}

	return
}

func main() {
	ary := getsTwoNumAsArray()

	for _, v := range ary {
		fmt.Println(getDigits(v))
	}
}

C++: #include <stdio.h>

int main(){
 int a,b;
 while(scanf("%d %d ",&a,&b)){
  a+=b;
  b=0;
  while(a>0){
   b++;
   a/=10;
  }
  printf("%d\n",(b?b:1));
 }



 return 0;
}

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

int main() {
  int a, b;

  while(cin >> a >> b) {
    int sum = a+b;
    int ans = 1;
    while(1) {
      sum /= 10;
      if(sum == 0) break;
      ans++;
    }
    cout << ans << endl;
  }
}

C++: #include <iostream>
#include <sstream>
#include <string>
using namespace std;
int main(void){
	int n , i , j , k ;
	for( i=1 ; i<=3 ; i++ ){
		cin >> j >> k ;
		int x = j+k;
		stringstream str;
		str << x ;
		string st = str.str();
		cout << st.size() << endl;
	}	
}

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

C++: #include<stdio.h>

int calc(int x,int y){
  int a,t,k =0;
  t = x+y;
  while(t){
    t = t/10;
    k += 1;
  }
  return k;
}
int main(void){
  int a,b;
  while(scanf("%d %d",&a,&b) != EOF){
    printf("%d",calc(a,b));
  }
}

C++: #include<iostream>

using namespace std;

int main()
{
	int a,b,c,d=1000000,e=7;
	for(int i=1;i<=200;i++){
		cin>>a>>b;
		c=a+b;
		while(1){
			if(1<=c/d){
				cout<<e<<endl;
				break;
			}
			else if(1>c/d){
				e--;
				d=d/10;
			}
		}
		d=1000000,e=7;
	}	
	return 0;
}

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

int main() {
	int a, b, c, lop;
	while (cin >> a >> b) {
		c = 10;
		for (lop = 1; c<=a+b; lop++) {
			c *= 10;
		}
		cout << lop << endl;

	}
	return 0;
}

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

int main(){
	int a,b,c;
	int ans;
	
	string cunning="77675555555555555555555555555555555555555455";
	
	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<math.h>
using namespace std;
int main(){
double a,b;
while(cin>>a>>b){
a=a+b;
if(a<10)cout<<"1"<<endl;
else {
b=log10(a);
cout<<b<<endl;
}
}
return 0;
}

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

using namespace std;

int main()
{
	int a, b, i, c;
	
	while(cin >> a >> b){
	
	i = 0;

	c = a + b;
	
	while(c > 0){
		
		c /= 10;
		
		i++;
	}
		cout << i << endl;
	}
	
    return 0;
}

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

int main() {
    
    int a[100];
    int b[100];
    int x = 0;
    int sum;
    int flag = 0;
    int count = 0;
    
    while(cin >> a[x] >> b[x]) x++;
    
    for(int i = 0; i < x; i++) {
        
        sum = a[i] + b[i];
        
        while (!flag) {
            sum = sum / 10;
            count++;
            if(sum < 1) {
                flag = 1;
                cout << count << endl;
            }
        }
        count = 0;
        flag = 0;
    }
    return 0;
}

C++: #include<iostream>

using namespace std;

int main()
{
	int a,b,n,c=1000000,p=7;
	for(int i=1;i<=200;i++){
		cin>>a>>b;
		n=a+b;
		while(1){
			if(n>=c){
			break;
			}
			else{
			p--;
			c/=10;
			}
		}
		cout<<p<<endl;
		p=7,c=1000000;
	}
	return 0;
}

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

int main(){
	int a, b;
	vector<int> output;
	while(cin >> a >> b){
		int sum = a + b;
		int digit = 0;
		while(sum){
			sum /= 10;
			digit++;
		}
		output.push_back(digit);
	}
	for(vector<int>::iterator itr = output.begin(); itr != output.end(); ++itr){
		cout << *itr << endl;
	}
	return 0;
}

C++: #include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <stack>
#include <queue>
#include <cctype>
#include <cstring>
#include <string>
#include <vector>


using namespace std;

int main()
{
    int i,j,sum;
    int t,dcount=0;
    while(scanf("%d",&i) != EOF && dcount <200)
    {
        int counter=0;
        int sum=0;
        cin >> j;
        sum=i+j;

        while(sum!=0)
        {
            t=sum%10;
            sum= sum/10;
            if(t!=0)
                counter++;
        }

        sum++;
        cout << counter <<endl;
        dcount++;
    }
}

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

int main() {
	int a[3],b[3];
	int ans[3];
	for(int i=0; i<1; i++) scanf("%d %d", &a[i], &b[i]);

	int cnt;
	int keta[3] = {0,0,0};
	for(int i=0; i<1; i++) {
		cnt = a[i] + b[i];
		while(cnt >= 10) {
			cnt/=10;
			keta[i] ++;
		}
		keta[i]++;
	}

	printf("%d\n", keta[0]);

	return 0;
}

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

C++: #include <stdio.h>

int main(){
	int a,b,c,output;
	while (scanf("%d %d", &a, &b) != EOF) {
		c = a + b;
		output = 0;
		while(c>0){
			c /= 10;
			output++;
		}
		printf("%d\n", output);
	}

	return 0;
}

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

int main()
{
	long int a,b,sum;/*足す数*/
	
	while(scanf("%d %d",&a,&b)!=EOF)
	{
		if(a<0 || b<0)
			continue;
		sum = a+b;
		printf("%d\n",(int)log10((float)sum)+1);
	}
	return 0;
}

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

int main(){
    int count = 0;
    int digit_num;
    int a[200],b[200];
    int sum;
    while(1){
        cin >> a[count] >> b[count];
        if(a[count] >=0 && a[count] <= 1000000)
            if(b[count] >= 0 && b[count] <= 1000000){
                sum = a[count] + b[count];
                digit_num = 1;
                while((sum/10) != 0){
                    digit_num ++;
                    sum = sum / 10;
                }
                cout << digit_num<<endl;
                count++;
                if(count >200) break;
            }
    }
    return 0;
}

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

int main()
{
	int a, b;
	while (cin >> a >> b)
	{
		int sum = a + b;
		int ans = 0;
		while (sum > 0)
		{
			ans++;
			sum /= 10;
		}
		cout << ans << endl;
	}

	return 0;
}

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

#define     MAX_NUMBER     200

using namespace std;

int main(){
	int num1,num2;
	char str[10];
	int i;

	while(cin >> num1 >> num2){
		//整形
		sprintf(str,"%d\0",(num1 + num2));

		// 文字数計測
		for(i=0;str[i] != '\0';i++){
		}

		// 文字数表示
		cout << i << endl;
	}

	return 0;
}

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

int main(){
	int a,b,s,o;
	while(scanf("%d %d", &a, &b) != EOF){
		s = a + b;
		o = 0;
		while(s != 0){
			s /= 10;
			o++;
		}
		printf("%d\n", o);
	}

	return 0;
}