C语言 C++重复数字的判断

编写一个程序,输入不超过5位的无符号整数,判断这两个整数中是否存在重复数字。例如,39876和2357存在重复数字,而369和2480中则不存在重复数字。
求大佬指点😭😭

暴力解法

  1. 先得到两个数的长度,然后将这两个数拆分成两个数组
  2. 遍历两个数组,如第一个数组的第一个数对比第二个数组的全部数
#include<iostream>
using namespace std;

int getsize(int number){
    int n=0;
    while(number>0){
        n++;
        number/=10;
    }
    return n;
}

int main()
{
    int a, b;
    cin >> a >> b;

    int len1 = getsize(a);
    int len2 = getsize(b);
    int *n1 = new int[len1];
    int *n2 = new int[len2];

    while(a != 0)
    {
        int i = 0;
        n1[i] = a % 10;
        a /= 10;
        i++;
    }
    while(b != 0)
    {
        int j = 0;
        n2[j] = b % 10;
        b /= 10;
        j++;
    }
    
    bool same = false;
    for(int i = 0; i < len1; i++)
    {
        if(same == true)
        {
            break;
        }
        for(int j = 0; j < len2; j++)
        {
            if(n1[i] == n2[j])
            {
                same = true;
                cout << "Yes" << endl;
                break;
            }
        }
    }
    if(same == false)
    {
        cout << "No" << endl;
    }

    return 0;
}