Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Numeri perfetti?! [PASCAL]

    Dato un numero da tastiera a dire se è perfetto, ovvero che sommati i suoi divisori eccetto a diano a stesso.

    esempio: a=6

    divisori di 6 eccetto 6 = 1,2,3

    1+2+3=6




    HELP!

  2. #2
    Utente bannato
    Registrato dal
    Jan 2003
    Messaggi
    1,414
    Non conosco il pascal, ma in C (che penso sia molto simile) potresti fare una cosa del tipo, grezzamente parlando:
    codice:
    Prendere in input il numero da tastiera
      far scorrere un ciclo for da 1 a (n-1), che ogni volta tenti
      di divirere 'a' per il numero che scorre nel ciclo
         se a : numero ciclo è un numero intero
             memorizza 'a'  
    Se 'insieme numeri a' (puoi usare un array magari) = 'a'
       stampa blabla
    altrimenti
       blabla
    Perlomeno, questo è quel che mi è venuto in mente di prima battuta, traducilo in pascal
    (non è molto elegante, ma per noi agli inizi dovrebbe andare bene :quipy: )

    Poi quando ho un attimo provo a farlo in C :sexpulp:

    Spero di esserti stato utile


  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326
    codice:
    Program NumeriPerfetti;
    
    Var a: Integer;
        sum: Integer;
        tmp: Integer;
    
    Begin
       Writeln('Introdurre numero: ');
       Readln(a);
       tmp := 1;
       sum := 0;
       while (tmp < a) do
       begin
          if ((a mod tmp) = 0) then
          begin
             sum := sum + tmp;
          end;
          tmp := tmp + 1;
       end;
       if (sum = a) then Writeln('Il numero ',a,' è perfetto!')
       else Writeln('Il numero ',a,' non è perfetto!');
    End.
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.