# Enigmath Machine 30/100

**URL:** <https://forum.olinfo.it/t/enigmath-machine-30-100/7101>\
**Category:** Aiuto\
**Created:** [15 Marzo 2022, 6:58pm UTC](https://forum.olinfo.it/t/enigmath-machine-30-100/7101 "2022-03-15T18:58:28Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Stesky](https://forum.olinfo.it/letter_avatar_proxy/v4/letter/s/71e660/32.png) [@Stesky](https://forum.olinfo.it/u/Stesky)\
**Post date:** [15 Marzo 2022, 6:58pm UTC](https://forum.olinfo.it/t/enigmath-machine-30-100/7101/1 "2022-03-15T18:58:28Z")

</div>

Salve, volevo chiedere se qualcuno è in grado di capire quale sia l’errore che fa sbagliare qualche testcase, io ho cercato il problema per 3 ore senza successo, non è un problema di velocità.  
Grazie in anticipo.

```auto
#include <iostream>
#include <vector>
using namespace std;

struct s_number
{
    int base;
    char k=0;
};
typedef struct s_number number;

int digitsum(int x);

int main()
{
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);
    int i, min, max, delta, MIN_N, a;
    cin>>min>>max;
    if(min>100)
        MIN_N=min-100;
    else
        MIN_N=0;
    delta=max-MIN_N;
    vector<number> x(delta+1);
    for(i=MIN_N;i<=max;i++){
        a=digitsum(i);
        if(a>=min && a<=max){
        x[a-MIN_N].base=i;
        x[a-MIN_N].k++;
        }
    }

    for(i=min-MIN_N;i<=delta;i++){
        if(x[i].k==0)
            cout<<"IMPOSSIBLE"<<"\n";
        else if(x[i].k==1)
            cout<<x[i].base<<"\n";
        else
            cout<<"AMBIGUOUS"<<"\n";
    }
    return 0;
}

int digitsum(int x)
{
    if(x<10)
        return x;
    int c, y;
    c=0;
    y=x;
    while(y>9){
        c+=y%10;
        y/=10;
    }
    return x+digitsum(c+y);
}

```

---

<div class="post-metadata">

**Author:** ![qwfwq](https://forum.olinfo.it/user_avatar/forum.olinfo.it/qwfwq/32/2974_2.png) [@qwfwq](https://forum.olinfo.it/u/qwfwq)\
**Post date:** [15 Marzo 2022, 9:14pm UTC](https://forum.olinfo.it/t/enigmath-machine-30-100/7101/2 "2022-03-15T21:14:20Z")

</div>

Ciao, dovresti aggiustare il valore di MIN\_N perché in questo modo non copri tutti i numeri utili da criptare.

---

<div class="post-metadata">

**Author:** ![Stesky](https://forum.olinfo.it/letter_avatar_proxy/v4/letter/s/71e660/32.png) [@Stesky](https://forum.olinfo.it/u/Stesky)\
**Post date:** [16 Marzo 2022, 7:14am UTC](https://forum.olinfo.it/t/enigmath-machine-30-100/7101/3 "2022-03-16T07:14:40Z")

</div>

Grazie mille per il consiglio, adesso funziona tutto.
