Fișierul intrare/ieșire | numere.in, numere.out | Sursă | Cerc informatică Vianu |
---|---|---|---|
Autor | Cristian Frâncu | Adăugată de | Cristian Frâncu • francu |
Timp de execuție pe test | 0.1 sec | Limită de memorie | 1024 KB |
Scorul tău | N/A | Dificultate |
Vezi soluțiile trimise | Statistici
Numere (clasele 7 - 8)
Limbajele de programare folosesc constante tot timpul. Dar oare cum își dau seama compilatoarele dacă un număr din program este corect? Un număr în limbajul Octopus-6 se reprezintă astfel:
- are la început un semn, ‘+’ sau ‘-’, opțional
- urmează partea întreagă, formată din oricîte cifre zecimale
- apoi, opțional, un punct zecimal, ‘.’
- urmează, opțional, partea zecimală formată din oricîte cifre zecimale
- opțional putem avea un exponent (puterea lui zece cu care se înmulțește acel număr). Exponentul începe cu ‘E’ sau ‘e’ urmat imediat de oricîte cifre zecimale (minim una), posibil precedate de semn, ‘+’ sau ‘-’.
- Putem avea zero cifre înainte de punctul zecimal, sau după punctul zecimal, dar nu zero și înainte și după (-.712 este corect și +12. este corect, dar +. nu este corect și nici .e10)
Se dă un program într-un fișier text. Programul conține cuvinte, care sînt separate prin unul sau mai multe spații. Programul se termină cu sfîrșit de linie. Programul este pe o singură linie (nu conține sfîrșit de linie decît la final). Programul poate conține orice caracter tipăribil (coduri ASCII între 32 si 126).
Cerință
Dat un program să se spună cîte din cuvinte sînt numere corecte în limbajul Octopus-6.
Date de intrare
Fișierul numere.in conține caractere și se termină cu ‘\n’
Date de ieșire
Fișierul numere.out va conține un singur număr și anume numărul de cuvinte care sînt numere.
Restricții
- Lungimea textului de la intrare este de maxim 2 000 001 caractere, incluzînd sfîrșitul de linie
Exemplu
numere.in | numere.out | Explicație |
---|---|---|
230 -4.53 02.340 100.23e15 215e-02 +.7 -10.e+10 213. +e10 7e+ - . +3.20E +0.15e- |
8 |
Sînt opt cuvinte ce pot forma numere și anume 230 -4.53 02.340 100.23e15 215e-02 +.7 -10.e+10 213. |