You are on page 1of 2

ALGORITMO DE CUADRADOS MEDIOS

import java.util.*;
import java.math.BigInteger;
public class Ejercicio_1 {
public static void main(String[] args) {
Scanner en=new Scanner(System.in);
System.out.println("................Algoritmo cuadrado medios................");
System.out.println("Introdusca la semilla con digito a mayor 4");
BigInteger n=en.nextBigInteger();
System.out.println("Introdusca la cantidad de Ri");
int r=en.nextInt(),digito=String.valueOf(n).length();
String aux;
for (int i = 0; i < r; i++)
{
aux=buscar(n.multiply(n).toString(),digito);
System.out.println("r"+(i+1)+": 0."+aux);
n=new BigInteger(aux);
}
}
public static String buscar(String ca,int di)
{
int re=0,cant=0,pos;
re=ca.length()/2;
if(di%2==0)
{
cant=di/2;
pos=re-cant;
}
else
{
cant=di/2+1;
pos=re-cant+1;
}
String aux="";
if(di%2!=0 && ca.length()%2==0)
pos--;
for (int i = 0; i < cant; i++)
{
aux=aux+""+ca.charAt(pos);
pos++;
}
if(di%2!=0)
cant--;
for (int i = 0; i < cant; i++)
{
aux=aux+""+ca.charAt(pos);
pos++;
}
return aux;
}
}
ALGORITMO DE PRODUCTOS MEDIOS
import java.math.BigInteger;
import java.util.*;
public class Ejercicio_2 {
public static void main(String[] args) {
System.out.println("................Algoritmo de productos medios................");
Scanner en=new Scanner(System.in);
System.out.println("Inserte el primer valor : ");
BigInteger x=en.nextBigInteger();
System.out.println("Inserte el segundo valor : ");
BigInteger y=en.nextBigInteger();
System.out.println("Introdusca la cantidad de Ri ");
String aux;
int r=en.nextInt(),digito=String.valueOf(x).length();
for (int i = 0; i < r; i++)
{
aux=buscar(x.multiply(y).toString(),digito);
System.out.println("r"+(i+1)+": 0."+aux);
x=y;
y=new BigInteger(aux);
}
}

public static String buscar(String ca,int di)


{
int re=0,cant=0,pos;
re=ca.length()/2;
if(di%2==0)
{
cant=di/2;
pos=re-cant;
}
else
{
cant=di/2+1;
pos=re-cant+1;
}
String aux="";
if(di%2!=0 && ca.length()%2==0)
pos--;
for (int i = 0; i < cant; i++)
{
aux=aux+""+ca.charAt(pos);
pos++;
}
if(di%2!=0)
cant--;
for (int i = 0; i < cant; i++)
{
aux=aux+""+ca.charAt(pos);
pos++;
}
return aux;
}
}

You might also like