From 201a817e5082206ce481bf15f0d71cef6e0fd80a Mon Sep 17 00:00:00 2001 From: Vichingo455 Date: Wed, 30 Oct 2024 09:37:04 +0000 Subject: [PATCH] Upload files to "funzioni" --- funzioni/30ott.cpp | 60 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 funzioni/30ott.cpp diff --git a/funzioni/30ott.cpp b/funzioni/30ott.cpp new file mode 100644 index 0000000..6f4c709 --- /dev/null +++ b/funzioni/30ott.cpp @@ -0,0 +1,60 @@ +/* +AUTORE: Manuel Vichi +Esercizi 30 ottobre +*/ +#include +#define EC(n) 1+3*(n)*((n)-1) +using namespace std; +// Funzione per verificare se il numero è esagonale centrale +bool esagonalecentrato(int n) { + bool esagonalecentrato2 = false; // Un bool in più non fa mai male + for(int k = 1; k <= 10 and n >= EC(k); ++k) { + if(n == EC(k)){ + esagonalecentrato2 = true; + break; // Ferma il ciclo + } + } + if (esagonalecentrato2) //Se è esagonale centrato + return true; // Esci dal bool con valore true + return false; // Altrimenti esci con valore false +} +// Funzione per stampare i numeri esagonali centrati +int stampaesagonalicentrati() { + cout << endl << "Primi 10 numeri esagonali centrati: " << endl; + for(int k = 1; k <= 10; ++k) //Da 1 a 10 (0 non può essere esagonale centrato) + cout << EC(k) << " "; // Stampa l'esagonale centrato + cout << endl; // Per aumentare la visibilità dell'output + return 0; //Per compatibilità +} +// Funzione per verificare se il numero è primo +bool isPrimeNumber(int num) { + if (num <= 1) + return false; // 0 e 1 non sono primi + for (int i = 2; i * i <= num; i++) { + if (num % i == 0) + return false; // Se num è divisibile per i, non è primo + } + return true; // Se non ci sono divisori, è primo +} +// Funzione principale +int main(void) { + int n; + cout << "Inserisci un numero: "; + cin >> n; + cout << endl; // Per aumentare la visibilità dell'output + if (esagonalecentrato(n)) { + cout << "Il numero " << n << " e' esagonale centrato." << endl; + } + else { + cout << "Il numero " << n << " non e' esagonale centrato." << endl; + } + stampaesagonalicentrati(); + cout << endl; // Per aumentare la visibilità dell'output + if (isPrimeNumber(n)) { + cout << "Il numero " << n << " e' primo." << endl; + } + else { + cout << "Il numero " << n << " non e' primo." << endl; + } + return 0; // Uscita normale con codice 0 +}