Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    10

    [C] Ricerca numeri primi di un dato numero

    salve a tutti gente, ho un piccolo problemino, devo scrivere un programma che mi calcolo se un numero è di smith o meno, xo non sono qui per farmi scrivere l'intero programma o farlo risolvere da qualcuno...quello ke vi chiedo è un aiuto su 1 pezzo del programma, per calcolare il numero di smith bisogna avere i numeri primi che sono compresi tra 1 e n (dove n è il numero che inserisco io)

    ora io avevo pensato di fare cosi:
    - Inserisco il numero N;
    - variabile I=0;
    - Metto tutto in un ciclo for dove incremento la variabile i fino a quando i==N;
    - Nel ciclo for controllo se i%1==0 e se i%i==0, se è cosi mi stampa che il numero è primo o melo carica in un vettore visto che mi serve dopo

    ora ho provato...xo non funziona

    ki mi da 1 mano???


    grazie mille

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    Re: [C] Ricerca numeri primi di un dato numero

    Originariamente inviato da crack001
    - Nel ciclo for controllo se i%1==0 e se i%i==0, se è cosi mi stampa che il numero è primo o melo carica in un vettore visto che mi serve dopo
    Ehm... i modulo i è sempre 0 Così come i modulo 1
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    In altre parole, per trovare i numeri primi devi ogni volta verificare che il numero in esame non sia divisibile per tutti i numeri primi precedenti.
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    10
    Originariamente inviato da MItaly
    In altre parole, per trovare i numeri primi devi ogni volta verificare che il numero in esame non sia divisibile per tutti i numeri primi precedenti.
    quindi io dovrei controllare ogni volta se i non è divisibile per tutti i numeri precendenti? scusate ma i numeri primi non sono quelli divisibili per 1 e per se stesso, quindi quelli che danno resto =0 quando si fa la divisione, x questo avevo pensato a i/1 e i%i...cioè se i%1 è 0 allora il numero è divisibile correttamente per 1 e lo stesso vale per i%i...nn è giusto il ragionamento?

  5. #5
    No, perché i numeri primi non sono "i numeri che sono divisibili per uno e per sé stessi", ma "solo i numeri che sono divisibili per uno e per sé stessi". Se togli il "solo" ottieni l'insieme dei numeri naturali.
    Amaro C++, il gusto pieno dell'undefined behavior.

  6. #6
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da crack001
    quindi io dovrei controllare ogni volta se i non è divisibile per tutti i numeri precendenti? scusate ma i numeri primi non sono quelli divisibili per 1 e per se stesso, quindi quelli che danno resto =0 quando si fa la divisione, x questo avevo pensato a i/1 e i%i...cioè se i%1 è 0 allora il numero è divisibile correttamente per 1 e lo stesso vale per i%i...nn è giusto il ragionamento?
    I numeri primi sono quelli divisibili SOLO per 1 e per se stessi. Tu in pratica hai scritto che i numeri primi sono quelli che possono essere divisi per uno e per se stessi... ma allora tutti i numeri sarebbero primi!

    edit: anticipato
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    10
    capito...xo ora mi viene spontaneo, cone faccio a identificare i numeri primi??? scusate ma nn ci arrivo proprio, cioè io avevo pensato a metterli in un if dentro un for ma logicamente avete ragione voi...come faccio quindi??? tipo na bozza di codice o anche un algoritmo nn potete scriverlo per farmi capire? grazie di cuore..davvero

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Scusa ... ma l'algoritmo te l'hanno gia' dato ...

    Se esamini il numero 6

    lo puoi dividere per 1,2,3,6 e quindi NON e' primo.

    Se esamini il numero 11

    lo puoi dividere per 1,11 e quindi E' primo.

    Non c'e' molto da dire in piu' ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    10
    appunto, quindi devo solo scrivere come condizione del ciclo IF

    se (num/1=num && num/num=1)
    il numero è primo


    giusto?


    io l'avevo fatto con il resto, giocando sul modulo ma nn funge

  10. #10
    Originariamente inviato da crack001
    appunto, quindi devo solo scrivere come condizione del ciclo IF

    se (num/1=num && num/num=1)
    il numero è primo


    giusto?
    Gia' quindi tutti i numeri sono primi.
    :-p

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 © 2024 vBulletin Solutions, Inc. All rights reserved.