Untitled
unknown
c_cpp
7 months ago
1.5 kB
4
Indexable
/* Un numero intero è palindromo quando le sue cifre rappresentano lo stesso valore sia che siano lette da destra che da sinistra. Esempi di numeri palindromi sono 111, 121, 13431. Scrivere un programma che riceve come argomento da riga di comando due numeri interi n e b. Il programma calcola i primi n numeri palindromi partendo da b e li visualizza al contrario. Esempio Se viene specificato n=5 e b=100 il programma stamperà a video: 141 131 121 111 101 */ #include <stdio.h> #include <stdlib.h> int invertiNumero(int num) { int inverso = 0; int cifra; while(num > 0){ cifra = num % 10; inverso = inverso * 10 + cifra; num = num /10; } return inverso; } int isPalindromo(int num) { int numInverso =invertiNumero(num); if(num == numInverso){ return 1; } return 0; } int main(int argc, char *argv[]) { if(argc == 3) { //Conversione argomenti in interi int n = atoi(argv[1]); int b = atoi(argv[2]); int count=0; int numero = b; int ultimo = b; while(count < n) { if(isPalindromo(numero)){ ultimo = numero; count++; } numero++; } numero = ultimo; while(numero >= b) { if(isPalindromo(numero)){ printf("%d ", numero); } numero--; } }else{ printf("Errore numero argomenti"); } return 0; }
Editor is loading...
Leave a Comment