大鹏~~ 2021-11-04 16:57 采纳率: 100%
浏览 221
已结题

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

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

  • 写回答

1条回答 默认 最新

  • Ltd Pikashu CSDN实力新星 2021-11-04 17:32
    关注

    暴力解法

    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;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月13日
  • 已采纳回答 11月5日
  • 创建了问题 11月4日

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看