MDIGITS2 - First Number

Tác giả: hieult

Ngôn ngữ: C++

#include <stdio.h>
//#include <conio.h>

int s[500010],n,b[10],a[10];

int main()
{
    int u = 0,t,v;
    scanf("%d",&n);
    for(int i = 1;i<=n;i++)
    {
        t = i;v=0;
        while(t>0)
        {
            v++;
            a[v]=t%10;
            t = t/10;
        }
        for(int j = 1;j<=v;j++)
            s[u+j] = a[v+1-j];
        u = u+v;
       
    } 
    v =0;
    t = n;  
    while(t>0)
        {
            v++;
            b[v]=t%10;
            t = t/10;
        }
        for(int i = 1;i<=v;i++)
       a[i] = b[1+v-i];
    for(int i = 1;;i++)
    {
        int flag = 0;
        for(int j = 0;j<v;j++)
        {
            if(s[i+j]!= a[j+1])
            {
                flag = 1;
                break;
            }
        }
        if(flag ==0)
        {
            printf("%d",i);
            break;
        }
    }
    //getch();
}
    
    

Download