列表

详情


HJ9. 提取不重复的整数

描述

输入一个 int 型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。
保证输入的整数最后一位不是 0 。

数据范围:

输入描述

输入一个int型整数

输出描述

按照从右向左的阅读顺序,返回一个不含重复数字的新的整数

示例1

输入:

9876673

输出:

37689

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C 解法, 执行用时: 1ms, 内存消耗: 228KB, 提交时间: 2018-08-18

#include <stdio.h>
#include <string.h>
   
int main(void)
{
int n,m=0;
    scanf("%d",&n);
    int a[10]={0};
    while(n)
    {
        if(a[n%10] == 0)
        {
            a[n%10]++;
            m = m*10 + n%10;
        }
        n /= 10;
    }
    printf("%d\n",m);
return 0;
}

C 解法, 执行用时: 1ms, 内存消耗: 276KB, 提交时间: 2020-08-07

#include <stdio.h>

int main()
{
    int n;
    while(scanf("%d",&n) != EOF)
    {
        int a[15]={0};
        while(n != 0)
        {
            int i=n%10;
            if(a[i] != 1)
            {
                printf("%d",i);
                a[i]=1;
            }
            n=n/10;
        }
    }
    return 0;
}

上一题