Título: Hacer sin Arreglos NI EL USO DEL SETCURSORPOSITION Publicado por: Choclito en 6 Julio 2009, 18:53 pm hola a todoso mire el programa que toy haciendo es que yo ingrese un Limite Inferior y un Limite Superior y me Muestre todos los primos en ese intervalo
y despues los primos anteriores a este primo osea ejemplo masomenos Li=1 Ls=12 me mostrara en el modo consola 1 2 3 5 7 11 1 2 3 5 7 1 2 3 5 1 2 3 1 2 1 NOTA:HACER ESTE PROGRAMA SIN ARREGLOS NI UsO DE SETCURSOTIONPOSITION YO LO HIZE MASOMENOS ASI SI TIENES ESA SOLUCION ME GUSTARIA QUE LA COMPATIERAN GRACIAS using System; using System.Collections.Generic; using System.Text; namespace la_suma_de_primos { class Program { static void Main(string[] args) { int[] arr = new int[50]; int a, b, C = 0, i, j, cp = 0; Console.WriteLine("\t\tSUMA DE NUMEROS PRIMOS"); Console.Write("*INGRESAR PRIMER INTERVALO: "); a = int.Parse(Console.ReadLine()); Console.Write("*INGRESAR SEGUNDO INTERVALO: "); b = int.Parse(Console.ReadLine()); for (i = a; i <= b; i++) { for (j = 1; j <= i; j++) { if (i % j == 0) { C = C + 1; } } if (C <= 2) { //contando primos cp = cp + 1; // Console.WriteLine("={0}",i); arr[cp] = i; } C = 0; } for (i = 1; i <= cp; i++) { Console.Write(" \t{0} ", arr); } Console.WriteLine(); j = 1; int mayor = arr[cp] * cp; for (i = 1; i <= mayor; i++) { arr[j] -= 1; arr[j] = CapturaPrimo(arr[j]); if (arr[j] > 0) { Console.Write(" \t{0} ", arr[j]); } else Console.Write(" \t "); if (j == cp) { j = 1; Console.WriteLine(); } else j++; } Console.ReadLine(); } private static int CapturaPrimo(int p) { while (p > 0) { if (EsPrimo(p)) { return p; } else p--; } return p; } private static bool EsPrimo(int p) { int c = 0; for (int i = 1; i <= p; i++) { if (p % i == 0) { c++; } } if (c <= 2) { return true; } else return false; } } } |