La verdad sobre el aborto: La hipocrecía

Diciembre 12, 2009 por eligioc

Por Manuel Rivas, para El País, España

Hoy en día recibe más ayuda un automóvil recién nacido que que un bebé. Hay informaciones básicas, silenciadas, que de repente refulgen y ponen en evidencia grandes hipocrecías establecidas. Una de ellas, de las hipocrecías, es la que atañe al aborto.

Tengo un recuerdo que me marcó para siempre como periodista. En el período de polémica que precedió a la primera ley democrática que despenalizó la interrupción del embarazo y liberó a las mujeres de la mazmorra por este asunto, relicé un reportaje en el salíamos a la calle micrófono en ristre.

Era en Santiago. Curas y estudiantes daban su opinión con desparpajo. Pero la primera mujer trabajadora que abordamos palideció cuando le hicimos la fatídica pregunta de qué opinaba sobre el aborto: “¡Yo no soy de aquí, que he venido a comprar unos zapatos!”

Las mujeres, sobre todo las trabajadoras, no son de aquí. Seamos sinceros. No habría ningún debate sobre la interrupción del embarazo si fuesen los hombres quienes tuviesen que parir.

En este caso, los niños recibirían por lo menos tanta ayuda como la de los automóviles recién nacidos. La verdad de las verdades refulgía en el informe que este diario publicó ayer y se resume en este sumario: “Tres de cada cuatro madres tuvieron incidencias en su carrera profesional”.

Ser madre es un problema. Está penalizado por esta sociedad donde, según las estadísticas, es mayoritaria la religión que venera a un Dios piadoso.

Mientras la natalidad aumenta en países Francia, hay partes de España, las muy conservadoras, por cierto, donde la caída demografica se revela como el más dramático problema.

La diferencial no es el aborto. Son los mínimos de justicia social. Se dice que sobre el aborto las posturas son irreconciliables. No.

Ahí tienen tienen un inmenso espacio comun. Para empezar, podemos pedir en  misa que los niños tengan al menos tantas ayudas, estatales y autonómicas, como los automóviles.

pedn11 (a little asembly requiered)

Diciembre 9, 2009 por eligioc
long maxProMat(int m[], int nfc) {
long mp = 0, pr; /* maximo producto, producto actual */
int dx[8][3] = {{-1,-2,-3},{0,0,0}   ,{1,2,3}   ,{1,2,3},
{1,2,3}   ,{0,0,0}   ,{-1,-2,-3},{-1,-2,-3}};
int dy[8][3] = {{-1,-2,-3},{-1,-2,-3},{-1,-2,-3},{0,0,0},
{1,2,3}   ,{1,2,3}   ,{1,2,3}   ,{0,0,0}};
int f, c, pl; /* filas, columnas, posicion lineal */
int py, px; /* para recorrer vecindad */
int y, x; /* coordenadas vecindad */
for (pl = 0; pl < nfc*nfc; pl++) {
f = (int) pl/nfc;
c = pl%nfc;
for (py = 0; py < 8; py++) {
pr = m[pl];
for (px = 0; px < 3; px++) {
y = f + dy[py][px];
x = c + dx[py][px];
if ((x < 0) || (x >= nfc) || (y < 0) || (y >= nfc))
pr = 0;
else
pr *= m[y*nfc+x];
}
if (pr > mp) mp = pr;  //  printf(“%d : %ld\n”, pl,pr);}
}
}
return mp;
}
ecabrera, octubre 2007.

projectEuler4

Diciembre 3, 2009 por eligioc

projectEuler3

Diciembre 3, 2009 por eligioc

Inglés

The prime factors of 13195 are 5, 7, 13 and 29. What is the largest prime factor of the number 600851475143 ?

Español

Encontrar el mayor factor primo de 600851475143.

Prosa

Asignar 1 a m, el mayor factor primo.

Asignar la raiz cuadrada de N a r (el número dado).

Asignar falso a e ( ‘encontrado’).

Mientras e sea falso Y r > 1

___ Verificar si r es es primo.

___ Si r es primo.

___ ___ Asignar verdadero a e.

___ ___ Asignar r a m.

___ Disminuir r en 1.

Retornar m.

C#

static long maxPrimo(long n)

{

long m = 1; // maximo primo

r = (long) Math.Sqrt(n);

bool e = falso; // encontrado

for ( ;  !e && r > 1; r–)

if (n % r && primo(r))

{

e = true;

m = r;

}

return m;

}

static bool primo(long n)

{

bool s = true; // si primo

for (long d = 2; s  &&  d < n / 2; d++

if (n % d == 0) s = false;

return s;

}

Invocar

Console.WriteLine(maxPrimo(600851475143));

ecabrera, diciembre 2009.

Nota:

Esta solución es muy ineficiente, toma mucho tiempo de ejecución, pero es efectiva.


projectEuler2

Diciembre 3, 2009 por eligioc

Inglés

Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with 1 and 2, the first 10 terms will be: 1, 2, 3, 5, 8, 13, 21, 34, 55, 89. Find the sum of all the even-valued terms in the sequence which do not exceed four million.

Español

Encontrar la suma de todos los términos pares de la serie de Fibonacci que no exceden a cuatro millones.

Prosa

Inicializar la suma, s, en 2  (pues es el primer fibo par).

Inicializar los dos primeros fibos, f1 y f2, en 1 y 2, respectivamente.

Inicializar el fibo siguiente, fs, en 3.

Recorrer en un ciclo, sumando los valores actuales de f1 y f2, mientras fs sea menor que el límite, n.

___ Verificar si fs es par, acumular fs en s.

___ Asignar f1 a f2 (un paso atrás).

___ Asignar el valor de fs a f2 (otro paso atrás).

___ Asignar a fs la suma f1 + f2.

Retornar s.

C#

static long sumaFibosPares(long n)

{

long s = 2; // suma de fibos pares

long f1 = 1,  f2 = 2; // primeros fibos

long fs = 3; // siguiente fibo

while (fs < n)

{

if (fs % 2 == 0) s += fs;

f1 = f2;

f2 = fs;

fs = f1 + f2;

}

return s;

}

Invocar

Console.WriteLine(sumaFibosPares(4000000));

ecabrera, diciembre 2009.


projectEuler1

Diciembre 3, 2009 por eligioc

Inglés

If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23. Find the sum of all the multiples of 3 or 5 below 1000.

Español

Encontrar la suma de los números naturales que son múltiplos de 3 ó de 5 y menores que n (n > 0).

Prosa

Inicializar un acumulador, S, para la suma buscada.

Recorrer en un ciclo, con un contador K, todos los naturales desde 1 hasta N-1.

___ Para cada valor de K, determinar si K es múltiplo de 3  ó  de 5.

___ ___ En tal caso, acumular K en S.

Retornar la suma, S.

C#

static long sumMul35(long n)

{

long s = 0; // suma

for (long k = 0; k < n; k++)

if (k % 3 == 0 || k % 5 == 0)   s += k;

return s;

}

Invocar

Console.WriteLine(sumMul35(1000));

ecabrera, diciembre 2009.

colonia zero

Noviembre 23, 2009 por eligioc

colonia zero (cz)

Es una colonia que se establece en un asteroide del sistema solar como un modelo de una sociedad que crece desde casi cero hasta un nivel impredecible de complejidad utilizando los postulados de crecimiento ordenado por capas, de suerte que el núcleo de la sociedad es  inmutable y estable, resistente al eventual desplome del resto de la superestructura montada sobre él.

El primer paso de la primera etapa menos uno consiste en establecer un domo habitable para los seres humanos, con atmósfera respirable , suelo fértil, un ecosistema auto sostenible, con una población inicial de dos parejas humanas ambos entre 15 y 20 años, casados y sin hijos.

En el centro del domo hay un edificio, con siete pisos subterráneos y uno superficial, dotado con un resumen de los conocimientos básicos de la humanidad almacenados en formatos que van desde libros hasta almacenamiento cuántico, alimentado por una central nuclear libre de mantenimiento y de contaminación, en combinación con tecnología solar, libre de mantenimiento.

La primera residencia de cz está a pocos pasos del borde interior del domo, de manera que el crecimiento de la colonia se hace desde la perifecia a la redonda de la periferia y hacia el edificio central.

Los animales mayores son perros y gatos, con el resto de la fauna y la flora constituyen un ecosistema cerrado.

Continuará…

 

ecabrera, noviembre 2009.

ejemplo en clase (jueves 12-11-9)

Noviembre 12, 2009 por eligioc

using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace mayorPalindro
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
long k1, k2, max = 0, pro; // contadores, maximo, producto

for (k1 = 10; k1 < 100; k1++)
for (k2 = 10; k2 < 100; k2++)
{
pro = k1 * k2;

if (palindro(pro) && pro > max) max = pro;
}

tbxmax.Text = Convert.ToString(max);
}

static bool palindro(long n)
{
bool sp = false; // si palindromo
long i = 0, c = n; // inverso, copia

while (n > 0)
{
i = 10 * i + n % 10;
n /= 10;
}

if (i == c) sp = true;

return sp;
}
}
}

 

La oscura era digital

Noviembre 9, 2009 por eligioc

La oscura era digital

Tecnologia, Teorias

El documental nos presenta el interrogante de que será el futuro de las civilizaciones sin el conocimiento de esta era, ya que muchos datos se perderán al guardarlos digitalmente. Hoy en día todo lo queremos mas rápido y fácil, y lo logramos mediante la digitalización de todo, por ejemplo; con una cámara de rollo debemos esperar el revelado de la foto y no podemos hacer cambios sobre la misma, ahora existe la cámara digital con la que podemos ver como quedo la toma y bajarla en cuestión de minutos a nuestro computador. ¿Pero que pasa con eso? Pues bien co la cámara de rollo se tenía las fotos impresas en papel el cual dura por mucho tiempo, mientras con la cámara digital con el constante cambio de software llegara el momento donde esa fotografía no se podrá reconocer en algún sistema operativo.

Las futuras civilizaciones cuando nos estén estudiando y si seguimos con lo mismo y no se hace algo para conservar los datos nos verán como la oscura era digital, por lo que hay poca información ya que la existente no la podrán entender.

El problema radica en la constante innovación y el consumismo excesivo, siempre nos están ofreciendo algo nuevo y nosotros deseamos tenerlo hasta conseguirlo, logrando que un ordenador quede obsoleto en menos de 18 meses, Somos un público credo, creemos que todo tiene que ser de tecnología de punta o si no, no nos sirve.

La memoria de los datos digitales corren peligro de desaparecer, como ocurre con los CDS-roms que al pasar determinado tiempo se dañan, se los comen los hongos, o simplemente se borran los datos.

Para conservar algo de los sistemas operativos del pasado existe la emulación, que nos permite leer datos de software que hace mucho salieron de información, y para actualizar los datos esta la migración que consiste en pasar un dato de un programa viejo a la nueva versión del mismo. Ejemplo; un documento en Word 2003 migrarlo para que lo lea el Word 2007.

Para conservar la memoria de la actual civilización se están diseñando métodos para que en un futuro lejano puedan leerse los datos digitales existentes, una de esas creaciones es una circunferencia de níquel pequeña que cumple la misma función de la piedra roseta, la cual ayudo a descifrar los escritos de antiguas civilizaciones como la griega y la egipcia, solo hay que imaginarse a las civilizaciones venideras tratando de descifrar nuestros datos digitales como nos toco a nosotros descriptar los jeroglíficos.

La conservación de los datos, beats son importantes porque el conocimiento del pasado es lo que crea la identidad de una sociedad, y no crear una oscura era digital, todavía estamos a tiempo de evitar un desastre digital.

¿Quienes fueron los primeros que inventaron un dispositivo para contar?

Fueron los egipcios quienes 500 años AC inventaron el primer dispositivo para calcular, basado en bolillas atravesadas por alambres. Posteriormente, a principios del segundo siglo DC, los chinos perfeccionaron este dispositivo, al que le agregaron un soporte tipo bandeja y lo llamaron Saun-panpara posteriormente conocerse como Ábaco que sumaba, restaba, multiplicaba y dividía.

¿Como evoluciono dicho dispositivo?

A principios del segundo siglo DC, los chinos perfeccionaron este dispositivo, al que le agregaron un soporte tipo bandeja y lo llamaron Saun-panpara posteriormente conocerse como Ábaco que sumaba, restaba, multiplicaba y dividía.

¿Como nació soroban?

Cuando los japoneses copiaron el ábaco chino y lo re-diseñaron totalmente a 20 columnas con 1 bolilla en la parte superior y 10 en la inferior.

Aportes:

Jonh Napier: su aporte fue la invención de los logaritmos, que son un exponente al cual hay que elevar un número o base para que iguale a un número dado.

Blaise Pascal: el aporte fue su máquina de calcular conocida como la PASCALINA que realizaba operaciones de hasta 8 dígitos.

Gottfried Wilhelm Leibniz: su aporte fue el modo aritmético binario, basado en “ceros” y “unos”, lo cual serviría unos siglos más tarde para estandarizar la simbología utilizada aplicada en el procesamiento de la información en las computadoras modernas.

Charles Babbage: sus aportes fueron La primera de ellas, llamada la Máquina Diferencial era un dispositivo de 6 dígitos que resolvía ecuaciones polinómicas por el método diferencial. La segunda, denominada Máquina Analítica, que tampoco fue terminada, fue diseñada como un dispositivo de cómputo general.

La condesa Ada Byron: es considerada la primera programadora de la era de la computación, ya que fue ella quien se hizo cargo del análisis y desarrollo de todo el trabajo del inventor y la programación de los cálculos a procesarse.

Joseph Marie Jacquard: su aporte fue al proceso de las máquinas programables al modificar una maquinaria textil, inventada por Vaucanson, a la cual implementó un sistema de plantillas o moldes metálicos perforados, unidas por correas, que permitían programar las puntadas del tejido, logrando obtener una diversidad de tramas y figuras.

Herman Hollerith: aporte al Censo de 1890 en los Estados Unidos, propuso su sistema basado en tarjetas perforadas, y que puesto en práctica constituyó el primer intento exitoso de automatizar el procesamiento de ingentes volúmenes de información.

1939 – 1958 La primera generación de las computadoras

John Louis von Neumann: sus múltiples e importantísimos aportes a las computadoras de la primera generación

Konrad Zuse: El primer prototipo de computadora digital

Atanasoff-Berry y la ABC: prototipo a un costo de 1,460 dólares, el mismo que estaba compuesto de tubos al vacío, capacitares y un tambor rotatorio para el manejo de los elementos de la memoria, así como un sistema lógico para su operatividad. Esta computadora fue usada para resolver ecuaciones matemáticas complejas.

Alan M. Turing: una enorme computadora, Su uso exclusivo fue el de descrifar los códigos de los mensajes radiales captados a los alemanes.

Grace Hooper: la MARK I de IBM en 1944

1959 – 1964 Segunda generación de las computadoras

John Bardeen, Walter Brattain y William Shockley quienes en 1948 inventaron el primer Transistor, sin presagiar que estaban a punto de lograr uno de los mayores descubrimientos de la era de la computación.

1964 – 1971 Tercera generación de las computadoras

En Abril de 1964 IBM presenta su generación de computadores IBM 360

BASIC (Beginners All-purpose Symbolic Instruction Language) es creado por Tom Kurtz y John Kemeny de Dartmouth

1971 – 1981 Cuarta generación de las computadoras

Marcial Edward Hoff: fue uno de los primeros empleados de Intel desde 1986, desarrolló y terminó de fabricar en Marzo de 1971 un microprocesador, para uso general, al cual denominaron el chip 4000.

Ted Hoff: se proyectó a diseñar un microprocesador de capacidades o prestaciones mas completas que las solicitadas por la empresa japonesa, realizando el mismo esfuerzo, con la posibilidad de usos futuros.

William Henry Gates y Paul Allen forman Microsoft Corporation, Microsoft fue el proveedor de la versión del lenguaje BASIC para la computadora personal MITS Altair.

Gary Kildall y John Torode fundan en 1975 la Digital Research Inc. que ingresa exitosamente al mercado con su sistema operativo CP/M (Control Program for Microcomputers)

Internet:

La Internet hoy en día es el medio mas utilizado para comunicarnos con el resto del mundo, y es sorprendente como algo que se utilizo para enviar paquetes de contenidos en los años 1950 con fines meramente militares ha cambiado nuestras vidas al permitirnos diversas funciones con las que contamos hoy.

Se estima que cada vez son mas las personas que tienen acceso a la Internet, lo cual es fundamental para un proceso de globalización.

La Internet a tenido tanta acogida q tiene su propia día en el calendario y que todos los fanático a este lo celebran.

Ya no solo tenemos Internet en nuestros ordenadores, ahora también esta disponible en los teléfonos celulares, ampliando nuestra posibilidad de conectarnos.

Hoy en día y se piensa que el futuro de las empresas esta en la Internet debido a que cada vez son mas las compañías que trabajan sobre la red.

Son múltiples las funciones del Internet y siempre hay algo nuevo, es un espacio sin fin que nunca terminamos de explorar, nos permite hacer consultas, comunicarnos con videoconferencias, enterarnos en breves instantes de lo que pasa al otro lado del mundo y hasta ahora realizamos nuestras compras por este medio.

Es muy difícil saber como será la vida en el futuro respecto a la tecnología pues esta en continuo cambio y cada vez nos sorprende más.

Acontecimientos:

1981: Osborne Computer introduce la Osborne 1, la primera computadora portátil.

1982: Se forma Compaq Computer.

1982: Sun Microsystems es fundada.

1982: Microsoft licencia el MS-DOS a 50 fabricantes de micro computadoras.

1983: Compaq despacha su primer clone en Enero y vende $111 millones.

1983: Lotus 1-2-3 desplaza a VisiCalc como la hoja de cálculos preferida por el mercado.

1983: NEC anuncia las supercomputadoras SX-1 y SX-2.

1983: La venta total de computadoras en los EUA excede las 10 millones de unidades.

1984: Apple presenta la Macintosh, la cual se caracteriza por su sistema operativo que cuenta con una vistosa e intuitiva GUI (Graphics Unit Interface), la misma que además de impactar al mercado, llamó poderosamente el interés de William Gates de la Microsoft.

1984: IBM introduce la PC AT (Advanced Technology).

1984: La Tandy 1000 se convierte en la No. 1 en venta de PC compatibles en su primer año..

1985: IBM libera los sistemas Sierra 3090.

1985: Aldus introduce PageMaker para la Macintosh y empieza la era de la edición de escritorio.

1986: Burroughs surge con Sperry y forma Unisys Corporation, secundando a IBM en ganancias.

1986: Compaq se adelanta a IBM e introduce la primera 80386.

1986: Tandy llega a tener más de 7300 tiendas minoristas incluyendo más de 4800 tiendas de Radio Shack en los EUA.

1986: El número de computadoras en USA excede los 3 millones.

1987: IBM introduce en Abril la serie PS/2 y despacha 1 millon de unidades el primer año.

1987: Sun Microsystems presenta la primera estación de trabajo basada el microprosesador RISC.

1987: Apple presenta la Macintosh II y Macintosh SE.

1987: Aldus introduce PageMaker para la IBM PC y compatibles.

1988: IBM introduce un a nuevo mainframe llamado MVS/ESA.

1988: IBM anuncia su largamente esperada serie de rango medio llamadas las AS/400.

1988: Motorola anuncia la 88000, un microprocesador RISC.

1988: Las primeras computadoras compatibles PS/2 son anunciadas por Tandy, Dell y otras compañías.

1988: Unisys introduce la familia 2200/400 para reemplazar su serie de rango medio, la serie 1100.

1988: Un consorcio de compañías de PC lideradas por Compaq introduce el estándar EISA para contrarrestar al bus Micro Channel de las IBM PS/2.

1988: IBM introduce la serie ES/3090 S de mainframes.

1988: Un gusano se difunde en la Internet infectando a más de 6,000 servidores.

1989: Solbourne Computer introduce la primera computadora compatible con Sun 4.

1989: DEC anuncia una estación de trabajo usando el microprocesador RISC de la Mips Computer.

1989: Microsoft compra un 20% de acciones de Santa Cruz Operation, el mayor desarrollador del SO UNIX.

1989: Intel anuncia el microprocesador 80486 y el co-procesador I860 RISC. Ambos chips tienen más de un millón de transistores.

1989: Sun Microsystems introduce su terminal SPARCstation, una estación con un precio de de sólo $9,000.

1989: IBM anuncia la Officevision software usando el protocolo SAA, que corre en las PS/2s, PS/2 LANs, AS/400 y mainframes.

1989: Seagate compra Control Data por $ 450 millomes

1989: Computer Associates adquiere Cullinet por $ 333 millones.

1989: Compaq lanza la LTE y LTE/286 notebook.

1989: Se lanza la primera 80486.

1990: IBM anuncia la familia de estaciones RISC Station 6000.

1990: Microsoft introduce Windows 3.0.

1990: Lotus gana un juicio a la hoja de cálculos de Paperback Software’s.

1990: IBM despacha la PS/1 del hogar.

1990: Microsoft excede el billón de dólares de utilidades..

1990: NCR abandona su sistema propio de mainframes en favor de sistemas basadas en Intel 486.

1990: Intel libera una supercomputadora paralela usando microprocesadores 860 RISC.

1990: Sun Microsystems lanza la SPARC estation 2.

1991: Advanced Micro Devices anuncia su AMD 386 para competir con Intel 386.

1991: Las Notebooks son popularizadas.

1991: Intel introduce the 486SX, un microprocesador mas barato que el chip 486.

1991: NCR acepta ser comprada por AT&T en $7.4 Billones.

1991: Apple libera el System 7.0 operating system para Macintosh.

1991: Microsoft lanza su DOS 5.0 con gran éxito.

1991: Borland compra Ashton-Tate for $440 millones

1991: SunSoft, de Sun Microsystems anuncia el Solaris que es un sistema operativo UNIX para estaciones de trabajo SPARC y 386/486 PCs.

1991: Apple lanza su PowerBook notebook y Quadra Macintosh PC’s.

1991: IBM tiene su primera baja en sus ingresos en 45 años.

1992: IBM lanza OS/2 Version 2.0

1992: Microsoft introduce Windows 3.1

1992: Sun Microsystems lanza una nueva generación SPARC 10.

1992: Wang Laboratories se declara en bancarrota.

1992: IBM forma la subsidiaria IBM PC Company.

1992: Compaq ingresa al mercado Japonés con precios agresivos, 50% más bajos que los modelos japoneses.

1992: Digital Equipment anuncia su próxima generación de computadoras basados en RISC Alpha.

1992: Microsoft introduce Windows for Workgroups.

1992: Intel anuncia que su próximo microprocesador será llamado Pentium en lugar de 586.

1992: Hewlett-Packard despacha la LaserJet 4, 600 por 600 dots por pulgada.

1993: Novell lanza NetWare 4.0.

1993: IBM introduce la serie F series de la AS/400.

1993: Lotus anuncia Notes 3.0.

1993: Motorola despacha las primera PowerPC.

1993: Microsoft lanza Windows NT.

1993: Intel anuncia los sistemas basados en el microprocesador Pentium.

1993: Compaq introduce la familia Presario.

1993: IBM anuncia OS/2 para Windows.

1994: Apple Computer lanza la Macintosh Power PC

1994: Intel introduce la 486DX4

1994: Novell compra WordPerfect por $1.14 Billones Borland’s Quattro Pro for $145 millones.

1995: Intel lanza el microprocesador Pentium Pro

1997: El 8 de Enero de este año Intel anuncia el lanzamiento del microprocesador Pentium con tecnología MMX™, el mismo que incorpora prestaciones para mejorar el rendimiento en aplicaciones multimedia, gráficos 3D y Virtual Reality.

1998: Intel lanza el microprocesador Pentium II con 7.5 millones de transistores.

1999: El 25 de Enero Intel lanza su microprocesador Intel Celeron, una alternativa más barata que Pentium II

1998: Intel lanza el microprocesador Pentium II con 7.5 millones de transistores.

1999: El 25 de Enero Intel lanza su microprocesador Intel Celeron, una alternativa más barata que Pentium II

1999: el 25 de Octubre Intel presenta 15 modelos de Pentium III y Pentium III Xeon con la avanzada arquitectura de 0.18 micrones. AMD compite fuertemente con sus arquitecturas K62 y en el tercer trimestre de 1999 lanza su AMD Athlon que amenaza a Pentium III de Intel con un ligero rendimiento mayor, pero con precios sumamente más bajos que los de Intel.

Fuente del texto: sistemasdeinformacion.over-blog.es

números amigables (a little assembly required)

Noviembre 4, 2009 por eligioc

static long sumaFactores(long n)
{
// suma factores propios de n
long s = 1; // suma

for (long k = 2; k <= n/2; k++)
if (n % k == 0) s += k;

return s;
}

static long amigable(long a, long t)
{
// retorna numero amigable de n si es menor que t
long b, c; // amigables posibles

b = sumaFactores(a);
c = sumaFactores(b);

if (a != c || a == b || b > t )) b = 0;

return b;
}

static long sumaAmigables(long t)
{
// suma de amigables menores que t
long s = 0; // suma de amigables menores que t

for (long k = 2; k < t; k++)
s += amigable(k);

return s;
}