Problema unui bilet fericit

Toată lumea știe că se cheamă un bilet "norocos", în care suma primelor trei cifre este egală cu suma celorlalte trei cifre. Luați în considerare modul în care este rezolvată problema determinării fericirii în MS Excel și în mediul de programare.

Construim o formulă într-o foaie de calcul

Sarcina: Un număr de șase cifre este stocat în celula foii de calcul, este necesar să se scrie o formulă care va afișa unul dintre cele două cuvinte "fericit" sau "alas"

Pentru a determina fericirea, este necesar să alocăm fiecare cifră în acest număr. Funcția text = PRTR () ne va ajuta să selectăm un număr arbitrar de caractere din șir. Funcția are trei argumente: textul sursă, poziția de început și numărul de caractere care trebuie extrase.

Problema unui bilet fericit

În exemplul din celula A1, 1 caracter este extras din a treia poziție.

Aplicând această formulă de șase ori, obținem în șase celule cifrele individuale ale numărului original. Pentru a determina fericirea avem nevoie de o funcție logică = IF (). Funcția are trei argumente: o expresie booleană, o valoare returnată (ieșire) dacă expresia este adevărată și valoarea returnată în cazul unei minciuni.


În exemplu, expresia logică revine "norocoasă" dacă suma primelor trei celule este egală cu suma celorlalte două numere,
și "din păcate" în caz contrar.

Combinați aceste două metode și obțineți următoarea funcție:


Formula este combinată într-o singură celulă.

Scrierea unui program

Să scriem un program care calculează numărul de numere norocoase.

Principiul acestui program este similar în multe privințe, însă există și o diferență fundamentală. Programul nu utilizează funcții de șir, aici numărul este numărul. Folosind operațiunile divizării întregi, extragem fiecare cifră a unui număr.

Vă atragem atenția, programul funcționează corect în Pascal ABC și nu este adevărat în TurboPascal și toate pentru că tipul întreg din TurboPascal este stocat în 16 celule de memorie și valoarea maximă pe care o poate lua

Există o soluție fundamental diferită:

În șase cifre încorporate, toate variantele posibile ale numerelor sunt scanate. Dar rezultatul programului va fi același.

Pentru acest material a apărut datorită fetei necunoscute Anastasia din Novosibirsk. Se întoarse spre mine cu o întrebare. Pentru inspirația mulțumirilor ei)

Articole similare