Ciao a tutti![]()
Devo realizzare un programma che, senza l'ausilio della funzione %, calcoli il resto della divisione tra due interi.
Ciò che avevo pensato era questo codice:
Il problema è proprio il while: a che punto mi fermo? Esistono divisioni che diano un resto maggiore di 2 (come parte intera)?codice:import java.util.Scanner; public class CalcoloResto { public static void main(String[] args){ int q=0; int b=0; int r=0; Scanner tastiera = new Scanner(System.in); System.out.println("Inserisci il dividendo"); int a=tastiera.nextInt(); do{ System.out.println("Inserisci il divisore"); b=tastiera.nextInt(); if(b==0) System.out.println("Inserisci nuovamente il valore del divisore, dev'essere un numero diverso da 0"); }while(b==0); System.out.println("valore di b ok"); do{ q=a/b; r=a-q*b; System.out.println(r); }while((r!=0)&&(r!=1)&&(r!=2)); System.out.println("Il resto e' : "+r); System.out.println("Il resto calcolato con la funzione % e' : "+(a%b)); } }
Ho provato ad inserire 345/123 e ottengo 99 anche col % !!!! Ma il resto non dovrebbe essere 1 circa?
Aiutatemi vi pregooo !!