El reto es ,que en la salida de un programa java ,ponga los numeros que dividen
entre 3 , del 1 a 15000 y lo mismo con 5 y 7
Ej. "los numeros divisibles entre 3 son" 3, 6 ..
Y lo mism con los otros dos
Ahí va la solución ,el code es mío xDD
public class retojava {
/**
* @param args
*/
static int [] div3 = new int[5000]; //5000 por que 3*5000=15000 el no justo
static int [] div5 = new int[3000];
static int [] div7 = new int[3000];
static int vcount=0;
static int vcount1=0;
static int vcount2=0;
static retojava ava = new retojava();
public static void main(String[] args) {
for (int i =1 ;i<15000;i++){
math(i);
}
mostrar();
System.out.println("Y el result de todos los numeros en los arrays son "+(vcount+vcount1+vcount2));
}
private static void mostrar() {
System.out.println("los div entr 3 son ");
for (int i =0 ;i<vcount;i++){
System.out.print(div3[i]+",");
}
System.out.println("\n los div entr 5 son ");
for (int i =0 ;i<vcount1;i++){
System.out.print(div5[i]+",");
}
System.out.println("\n los div entr 7 son ");
for (int i =0 ;i<vcount2;i++){
System.out.print(div7[i]+",");
}
}
public void add3(int i ){
try{
div3[vcount]=(i);
vcount++;}
catch(Exception x){x.printStackTrace();}
}
public void add5(int i ){
div5[vcount1]=(i);
vcount1++;
}
public void add7(int i ){
div7[vcount2]=(i);
vcount2++;
}
private static void math(int i) {
if(i % 3==0){ava.add3(i);}
else if(i % 5==0){ava.add5(i);}
else if(i % 7==0){ava.add7(i);}
}
}
Modifico , el mism reto está en http://foro.infiernohacker.com/index.php?topic=11779.0 (http://foro.infiernohacker.com/index.php?topic=11779.0)
Utilizando una función propia de módulo. :P
/*
* Autor: Darhius929
*/
package basic;
public class Dividers {
private static final int LOWER_LIMIT = 1;
private static final int SUPERIOR_LIMIT = 15000;
public static void main
(String args
[]) { int divisor3 = 3;
numbersDivisible(divisor3);
int divisor5 = 5;
numbersDivisible(divisor5);
int divisor7 = 7;
numbersDivisible(divisor7);
}
private static void numbersDivisible(int divisor) {
for(int number=LOWER_LIMIT; number<SUPERIOR_LIMIT; number++){
if(module(number,divisor)==0) {
System.
out.
println("El n\u00famero " + number
+ " es divisor de " + divisor
); }
}
}
private static double module(double dividend, double divisor) {
double remainder = 0.0;
try {
remainder = dividend - ((int)(dividend/divisor)*divisor);
ae.printStackTrace();
}
return remainder;
}
}