Aiuto svolgimento programma C

di il
3 risposte

Aiuto svolgimento programma C

Ciao a tutti,

volevo esporvi questo problema:
dati 2 numeri in input, devo trovare i valori che siano contemporaneamente multipli del numero minore e divisori del numero maggiore. Diciamo che ho già scritto una buona parte di codice, cioè come trovare i multipli e come trovare i divisori, però non riesco a fare la cosa più importante: fare il confronto tra questi valori per poter memorizzare quelli in comune tra i due numeri.

Qualcuno mi può aiutare??

Grazie!!

3 Risposte

  • Re: Aiuto svolgimento programma C

    Ciao...prova cmq a postare un pò di codice...così magari qualcuno inizia a dare un'occhiata e vede se il discorso che hai fatto tu potrebbe essere quello giusto...
  • Re: Aiuto svolgimento programma C

    Prova questo codice:
    
    #include <stdio.h>
    #include <stdlib.h>
    
    int Multiplo(int a,int b);
    int GetNumber(int a,int b);
    
    int main(void) {
    
    	int a,b, num;
    
    	printf("%s\n","Inserisci due valori:");
    	scanf("%d",&a);
    	scanf("%d",&b);
    
    	if((num = GetNumber(a,b))==0)
    		printf("%s\n","Non ci sono numeri");
    	else
    		printf("%d\n", num);
    	return EXIT_SUCCESS;
    }
    
    int GetNumber(int a,int b)
    {
    	int i=0, c=a;
    	if(a>b)
    		c=b;
    
    	for(i=1;i<100;i++)
    	{
    		if(Multiplo(i,c)==1 && Multiplo(b,i)==1)
    			return i;
    	}
    	return 0;
    }
    int Multiplo(int a,int b)
    {
    	if((a%b)==0)
    		return 1;
    	return 0;
    }
    
    questo dovrebbe essere un semplice esempio che va sicuramente rivisto.
  • Re: Aiuto svolgimento programma C

    Cioè se non ho capito male inserendo per esempio 3 e 81 come risultato dovrebbe uscire: 3 9 27....giusto??
    perchè infatti sono i multipli di 3 e divisori di 81 e sono gli unici in comune tra 3 e 81...sembra filare...
    facendo un'altro esempio...inserendo 4 e 32 si ha: 4 8 12...corretto?
Devi accedere o registrarti per scrivere nel forum
3 risposte