3859 - Cai
Cerinţa
Se dă N, în câte moduri putem plasa 2 cai pe o tablă de șah de N pe N astfel încât să nu se atace?
Date de intrare
Programul citește de la tastatură numărul N.
Date de ieșire
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele sunt introduse corect.", programul va afișa pe ecran numărul X, răspunsul la întrebarea din enunț. În cazul în care datele nu respectă restricțiile, se va afișa pe ecran: "Datele nu corespund restricțiilor impuse.".
Restricţii şi precizări
- 1 ≤ n ≤ 10.000.
- Caii nu se pot afla pe același pătrat.
Exemple
Exemplul 1
- Intrare
- 2
- Ieșire
- Datele sunt introduse corect.
- 6
Exemplul 2
- Intrare
- 5
- Ieșire
- Datele sunt introduse corect.
- 252
Exemplul 3
- Intrare
- 10001
- Ieșire
- Datele nu corespund restricțiilor impuse.
Rezolvare
<syntaxhighlight lang="python" line="1">
- 4046 - Parfum
def validare(n):
if n < 1 or n > 10000: return False else: return True
def numar_solutii(n):
if not validare(n): print("Datele nu corespund restricțiilor impuse.") return else: print("Datele sunt introduse corect.") if n == 1: return 1 elif n == 2: return 6 else: return (n**2)*(n**2-1)/2 - 4*(n-1)*(n-2)
def main():
n = int(input("Introduceți numărul de rânduri și coloane (N): ")) solutii = numar_solutii(n) if solutii is not None: print("Numărul de moduri în care putem plasa 2 cai pe o tablă de șah de {} pe {} astfel încât să nu se atace este: {}".format(n, n, solutii))
main()
</syntaxhighlight>