Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Dobrý den,
můžu poprosit o radu, nebo spíš potřebuju trošičku nakopnout...
Mám sestavit program, ve kterém načtu celé číslo a vytisknu všechny celočíselné dělitelé načteného čísla.
Nápad by byl - zkouším dělit od 1 do toho načteného čísla, ale nějak jsem se v tom zamotala...
Můžete mi prosím mrknout na zdroják? Díky moc
public static void main(String []args){
int n; //zkoumané číslo
int i=1; //čísla, jimiž postupně dělíme
do{
System.out.println("Zadej cislo");
n=VstupDat.ctiInt();
if(n/i==0)i++;
System.out.println(i);
}while (n/i!=0);
}
}
Offline
1) predpokladam, ze nactes pouze jedno cislo a u nej pak vypises delitele - takze nacteni tohoto cisla bude vne cyklu
2) pro testovani, jestli je cislo n delitelne cislem i, je vhodne pouzit zbytek po deleni - pokud je to nula, pak i deli n. syntaxe: if((n % i) == 0) ...
Offline
↑ plisna:
public class KU3oprava {
public static void main(String []args){
int n; //zkoumané číslo
int i=1; //čísla, jimiž postupně dělíme
System.out.println("Zadej cislo");
n=VstupDat.ctiInt();
do{
if((n % i) == 0)i++;
System.out.println(i);
}while (i<=n);
}
}
Offline
opravdu nevim, proc ti to nefunguje, me to totiz funguje bezchybne. muj kod:
public static void main(String[] args) { // TODO code application logic here Scanner s = new Scanner(System.in); System.out.println("Zadej cislo: "); int n = s.nextInt(); int i = 1; do { if ((n % i) == 0) { System.out.println(i); } i++; } while(i <= n); }
zadam-li napr. 20, tak program vypise 1, 2, 4, 5, 10, 20
Offline
↑ plisna:
Díky moc za pomoc, nevím čím to bylo, ale dnes už mi to funguje - výsledek:
public class pokusKU3 {
public static void main(String []args){
int n; //zkoumané číslo
int i=1; //čísla, jimiž postupně dělíme
int odpoved;
System.out.println("Zadej cislo");
n=VstupDat.ctiInt();
do{
if ((n % i) == 0) {
System.out.println(i);
}
i++;
}while(i<=n);
}
}
Musela jsem to upravit takto, protože se "scannerem" ještě pracovat neumím. Tak ještě jednou díky.
Offline