Formular una pregunta
Acceso rápido
- Página principal de foros
- Examinar usuarios de los foros
- Preguntas más frecuentes
Buscar conversaciones relacionadas
- Remove From My Forums
Principales respuestas
Acceso a Datos
>
SQL Server
Pregunta
-
Inicie sesión para votar
Hola gente, que tal?
Los molesto con una pregunta de MSSQL 2008, es para un proyecto para la facultad.
Yo tengo una tabla que tiene 6 columnas con campos INT:N1, N2, N3, N4, N5, N6
En cada columna se guardan numeros con valores de 0 a 60, por ejemplo, se pueden guardar 6 numeros en este orden 00,01,02,03,04,05 o tambien, se guardan numeros asi 55, 56, 57, 58, 59, 60.
Lo que quiero hacer, es poder contar cuantos numeros PARES-IMPARES y PRIMOS-PRIMOS hay en la FILA (osea, en todos los numeros que van de N1 a N6), pero el query me tiene que mostrar la cantidad total.
Lo explico mejor:
Si hago un SELECT * FROM MITABLE, me dice esto:
N1 N2 N3 N4 N5 N6
00 01 02 03 04 05
...
...
...
55 56 57 58 59 60Lo que estoy buscando es un query, que me cuente los numeros de la siguiente manera:
N1 N2 N3 N4 N5 N6 PAR IMPAR PRIMO NOPRIMO
00 01 02 03 04 05 3 3 3 3Me podrian ayudar, por favor?
(Video) Como clasificar números pares, impares y primos con PythonMuchas gracias
viernes, 13 de noviembre de 2015 17:24
Respuestas
-
Inicie sesión para votar
Si usamos una funcion que genere una tabla de numeros como esta:
http://sqlmag.com/sql-server/virtual-auxiliary-table-numbers
entonces podemos usarla para encontrar si los numeros son divisibles por otro numero entre 2 y el numero en question menos 1. Esto nos dice si el # es primo o no.
Para saber si es par o impar solo basta ver el valor del modulo con 2.
DECLARE @T table (grp int NOT NULL IDENTITY PRIMARY KEY,N1 int,N2 int,N3 int,N4 int,N5 int,N6 int);INSERT INTO @T (N1, N2, N3, N4, N5, N6)SELECT MAX(CASE WHEN (T.n - 1) % 6 = 0 THEN (T.n - 1) END), MAX(CASE WHEN (T.n - 1) % 6 = 1 THEN (T.n - 1) END), MAX(CASE WHEN (T.n - 1) % 6 = 2 THEN (T.n - 1) END), MAX(CASE WHEN (T.n - 1) % 6 = 3 THEN (T.n - 1) END), MAX(CASE WHEN (T.n - 1) % 6 = 4 THEN (T.n - 1) END), MAX(CASE WHEN (T.n - 1) % 6 = 5 THEN (T.n - 1) END)FROMdbo.ufn_GetNums(1, 60) AS TGROUP BY (T.n - 1) / 6 ORDER BY (T.n - 1) / 6;WITH S AS (SELECT T.grp, R.pos, R.valor, CASE WHEN R.valor % 2 = 0 THEN 1 ELSE 0 END AS par, CASE WHEN R.valor = 0 THEN 0 WHEN R.valor = 1 THEN 1 WHEN R.valor % 2 <> 0 AND ( SELECT MAX(CASE WHEN W.col1 = 0 THEN 1 END) FROM dbo.ufn_GetNums(2, R.valor - 1) AS Nums CROSS APPLY (VALUES (R.valor % Nums.n)) AS W(col1) WHERE R.valor > 2 ) IS NULL THEN 1 ELSE 0 END AS primoFROM@T AS T CROSS APPLY ( VALUES (1, T.N1), (2, T.N2), (3, T.N3), (4, T.N4), (5, T.N5), (6, T.N6) ) AS R(pos, valor))SELECT MIN(CASE WHEN pos = 1 THEN valor END) AS N1, MIN(CASE WHEN pos = 2 THEN valor END) AS N2, MIN(CASE WHEN pos = 3 THEN valor END) AS N3, MIN(CASE WHEN pos = 4 THEN valor END) AS N4, MIN(CASE WHEN pos = 5 THEN valor END) AS N5, MIN(CASE WHEN pos = 6 THEN valor END) AS N6, SUM(par) AS PAR, SUM(1 - par) AS IMPAR, SUM(primo) AS PRIMO, SUM(1 - primo) AS NOPRIMOFROM SGROUP BY grp ORDER BY grp;GO
Lo primero es hacer unpivot de la data, luego poner una bandera (0 o 1) si es par al igual si es primo. El resto seria hacer PIVOT y umar las banderas.
AMB
Some guidelines for posting questions...
AYÚDANOS A AYUDARTE, guía básica de consejos para formular preguntas
- Editado HunchbackMVP viernes, 13 de noviembre de 2015 19:57
- Propuesto como respuesta Miguel Egea GómezMVP, Moderator sábado, 14 de noviembre de 2015 16:22
- Marcado como respuesta Karen MalagónModerator martes, 17 de noviembre de 2015 22:16
(Video) De una lista de números, contar cuantos son pares, impares y primos.viernes, 13 de noviembre de 2015 19:32
Todas las respuestas
-
Inicie sesión para votar
Se me ocurre hacer una función escalar que devuelva un 1 si el argumento es primo. Después la llamas en la Select así:
select N1, N2, N3, N4, N5, N6, dbo.EsPrimo(N1)+dbo.EsPrimo(N2)+dbo.EsPrimo(N3)+dbo.EsPrimo(N4)+dbo.EsPrimo(N5)+dbo.EsPrimo(N6) as PRIMO
Eso te da el número de primos; si quieres el número de no-primos, siempre será 6 menos el número de primos.
Para los impares se podría hacer una función similar, pero no hace falta ya que puedes obtenerlos mediante el operador módulo:
select ...., N1%2+N2%2+N3%2+N4%2+N5%2+N6%2 as IMPAR
Lógicamente, la diferencia hasta 6 es el número de pares.
Queda por hacer la función "EsPrimo". Para solo 60 números yo lo que pondría dentro de la función es simplemente una comparación a piñón fijo con la lista de los impares menores que 60, para que no sea muy lento llamarla repetidamente dentro del Select.
- Editado Alberto PoblacionMVP viernes, 13 de noviembre de 2015 18:36
viernes, 13 de noviembre de 2015 18:33
(Video) NUMEROS PRIMOS Super facil -
Inicie sesión para votar
Si usamos una funcion que genere una tabla de numeros como esta:
http://sqlmag.com/sql-server/virtual-auxiliary-table-numbers
entonces podemos usarla para encontrar si los numeros son divisibles por otro numero entre 2 y el numero en question menos 1. Esto nos dice si el # es primo o no.
Para saber si es par o impar solo basta ver el valor del modulo con 2.
DECLARE @T table (grp int NOT NULL IDENTITY PRIMARY KEY,N1 int,N2 int,N3 int,N4 int,N5 int,N6 int);INSERT INTO @T (N1, N2, N3, N4, N5, N6)SELECT MAX(CASE WHEN (T.n - 1) % 6 = 0 THEN (T.n - 1) END), MAX(CASE WHEN (T.n - 1) % 6 = 1 THEN (T.n - 1) END), MAX(CASE WHEN (T.n - 1) % 6 = 2 THEN (T.n - 1) END), MAX(CASE WHEN (T.n - 1) % 6 = 3 THEN (T.n - 1) END), MAX(CASE WHEN (T.n - 1) % 6 = 4 THEN (T.n - 1) END), MAX(CASE WHEN (T.n - 1) % 6 = 5 THEN (T.n - 1) END)FROMdbo.ufn_GetNums(1, 60) AS TGROUP BY (T.n - 1) / 6 ORDER BY (T.n - 1) / 6;WITH S AS (SELECT T.grp, R.pos, R.valor, CASE WHEN R.valor % 2 = 0 THEN 1 ELSE 0 END AS par, CASE WHEN R.valor = 0 THEN 0 WHEN R.valor = 1 THEN 1 WHEN R.valor % 2 <> 0 AND ( SELECT MAX(CASE WHEN W.col1 = 0 THEN 1 END) FROM dbo.ufn_GetNums(2, R.valor - 1) AS Nums CROSS APPLY (VALUES (R.valor % Nums.n)) AS W(col1) WHERE R.valor > 2 ) IS NULL THEN 1 ELSE 0 END AS primoFROM@T AS T CROSS APPLY ( VALUES (1, T.N1), (2, T.N2), (3, T.N3), (4, T.N4), (5, T.N5), (6, T.N6) ) AS R(pos, valor))SELECT MIN(CASE WHEN pos = 1 THEN valor END) AS N1, MIN(CASE WHEN pos = 2 THEN valor END) AS N2, MIN(CASE WHEN pos = 3 THEN valor END) AS N3, MIN(CASE WHEN pos = 4 THEN valor END) AS N4, MIN(CASE WHEN pos = 5 THEN valor END) AS N5, MIN(CASE WHEN pos = 6 THEN valor END) AS N6, SUM(par) AS PAR, SUM(1 - par) AS IMPAR, SUM(primo) AS PRIMO, SUM(1 - primo) AS NOPRIMOFROM SGROUP BY grp ORDER BY grp;GO
Lo primero es hacer unpivot de la data, luego poner una bandera (0 o 1) si es par al igual si es primo. El resto seria hacer PIVOT y umar las banderas.
AMB
Some guidelines for posting questions...
AYÚDANOS A AYUDARTE, guía básica de consejos para formular preguntas
- Editado HunchbackMVP viernes, 13 de noviembre de 2015 19:57
- Propuesto como respuesta Miguel Egea GómezMVP, Moderator sábado, 14 de noviembre de 2015 16:22
- Marcado como respuesta Karen MalagónModerator martes, 17 de noviembre de 2015 22:16
viernes, 13 de noviembre de 2015 19:32
(Video) CONTAR NÚMEROS PARES E IMPARES Y APLICAR FORMATO CONDICIONAL
FAQs
¿Cómo calcular números pares e impares? ›
Los números pares son completamente divisibles por 2. Los números impares no son completamente divisibles por 2. Si el dígito de las unidades de un número dado es par, entonces ese número se considera par. Si el dígito de las unidades de un número dado es impar, entonces ese número se considera impar.
¿Qué es un número impar y números pares y números primos? ›Un número primo es un número que tiene solo dos factores, 1 y el número mismo . Por ejemplo, 3, 5, 9, 11, 13, 15, 47, etc. Los números pares son aquellos números que son completamente divisibles por 2. Por ejemplo, 2, 4, 26, 78, etc. Los números impares son aquellos números que no son completamente divisibles por 2.
¿Cómo encontrar números primos impares? ›Los números son 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89 y 97.
¿Cuántos números primos son pares? ›2 es el único número primo par .
¿Cómo sacar los pares? ›Un número par se obtiene al multiplicar dos por cualquier número natural. Es por ello que podemos concluir que: Los números pares son los que terminan en 0, 2, 4, 6, 8.
¿Cómo se calculan los números pares? ›Número par = 2 · n.
n es cualquier número entero. Los números pares terminan en 0, 2, 4, 6, 8.
(3, 5), (5, 7), (11, 13), (17, 19), (29, 31), (41, 43), (59, 61), (71, 73), (101, 103), (107, 109), (137, 139), (149, 151), (179, 181), (191, 193), (197, 199), (227, 229), (239, 241), (269, 271), (281, 283), (311, 313), (347, 349), (419, 421), (431, 433) y (461, 463).
¿Cuál es la regla de los números primos? ›Los números primos son aquellos que solo son divisibles entre ellos mismos y el 1, es decir, que si intentamos dividirlos por cualquier otro número, el resultado no es entero. Dicho de otra forma, si haces la división por cualquier número que no sea 1 o él mismo, se obtiene un resto distinto de cero.
¿Cómo saber si un número es primo o no? ›Los números primos son aquellos solo tienen 2 factores: 1 y ellos mismos. Por ejemplo, los primeros 5 números son 2, 3, 5, 7 y 11. En contraste, los números con más de 2 factores se llaman números compuestos.
¿Por qué 2 es un primo impar? ›Números primos y compuestos en matemáticas
Un número natural que tiene exactamente dos divisores, es decir, el 1 y el propio número, es un número primo. En palabras simples, si un número solo es divisible por 1 y por sí mismo, entonces es un número primo. Todo número primo es un número impar excepto el número 2 .
¿Qué número impar no es primo? ›
¿Por que todos los números impares son primos? La respuesta a esta pregunta es no, no todos los números impares son primos, esto se debe a que algunas de estas cifras son divisibles entre más de dos números. En este sentido, los números primos son aquellos que solo tienen dos divisores exactos, él mismo y el número 1.
¿Todos los números impares son primos sí o no? ›No, todo número impar no es un número primo . Ejemplo: 9 es un número impar que tiene los factores 1, 3 y 9 y no es un número primo.
¿Por qué el 1 no es un número primo? ›1 solo se puede dividir por un número, el 1 mismo , por lo que con esta definición 1 no es un número primo. Es importante recordar que las definiciones matemáticas se desarrollan y evolucionan. A lo largo de la historia, muchos matemáticos consideraron que el 1 era un número primo, aunque ahora no es una opinión común.
¿Cómo explicarle a un niño que son los números primos? ›Los números primos son aquellos que solo, muy importante, solo son divisibles (al dividirse entre otro da un número entero) entre ellos mismos y el 1. Por ejemplo: el 7. Es un número primo porque solo es divisible por 7 y por 1. Otro ejemplo, el 13 es un número primo.
¿Cuál es el único número primo par? ›2 es el único número primo par.
Son 5 pares o 5 pares? ›El plural de par es pares .
¿Qué son los pares de números primos gemelos? ›Primeros pares de primos gemelos
Los primeros quince pares de primos gemelos son los siguientes: (3, 5), (5, 7), (11, 13), (17, 19), (29, 31), (41, 43), (59, 61), (71, 73), (101, 103), (107, 109), (137, 139) , …
Los primeros primos gemelos son 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97.
¿Cuántas parejas de números primos gemelos hay? ›Hay ocho parejas de primos gemelos menores que 100: 3 y 5, 5 y 7, 11 y 13, 17 y 19, 29 y 31, 41 y 43, 59 y 61, 71 y 73.
¿Cómo se llama el método para averiguar los números primos del 1 al 100? ›Se trata de un procedimiento denominado Criba de Eratóstenes, que veremos cómo funciona encontrando todos los números primos entre 1 y 100.
¿Por qué el 11 no es un número primo? ›
El número 11 es divisible solo por 1 y el número mismo . Para que un número sea clasificado como número primo, debe tener exactamente dos factores.
¿Qué son números primos 5 ejemplos? ›Es decir, es primo aquel número que se puede dividir por uno y por el mismo número. El primer número primo es 2, y hay 25 números primos entre 1 y 100, ellos son: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89 y 97.
¿Por qué el 1 no es ni primo ni compuesto? ›Uno tampoco es ni primo ni compuesto. La única forma de obtener un producto de uno es multiplicando 1 x 1. Pero los factores duplicados solo se cuentan una vez, por lo que uno solo tiene un factor . (Un número primo tiene exactamente dos factores, por lo que uno no puede ser primo).
¿Cómo encontrar números primos y compuestos? ›Un número primo es un número que tiene exactamente dos factores, es decir, '1' y el número en sí. Un número compuesto tiene más de dos factores, lo que significa que además de dividirse por 1 y el número en sí, también se puede dividir por al menos un número entero positivo.
¿Cuáles son los divisores de 15? ›- Divisores de '15': 1, 3, 5 y 15.
¿El 9 es un número impar? ›El número compuesto impar más pequeño es 9 .
Consulta la lista de números impares: 1, 3, 5, 7, 9, 11, …
Por lo tanto, el número primo impar más pequeño -: 3.
¿Qué número es primo y par a la vez? ›El número 2 es el único primo par, debido a que, tal como lo establece la regla, este solamente puede dividirse por 1 y sí mismo, mientras que, el resto de los números pares, además de dividirse de esta forma, también son múltiplos del 2 o incluso, de otros números, considerándose números compuestos.
¿Por qué el 2 no es un número primo? ›De acuerdo con la definición de números primos, cualquier número entero que tiene solo 2 factores se conoce como número primo. Ahora, los factores de 2 son 1 y 2 .
¿Cómo saber si un número es primo sin dividir? ›Para demostrar que un número es primo, se divide ordenadamente por todos los números primos menores que él. Cuando, sin resultar divisiones exactas, llega a obtenerse un cociente menor o igual al divisor, podremos afirmar que el número en cuestión es primo.
¿Cuál es el único número que no es primo ni compuesto? ›
El número 1, por convenio, no se considera ni primo ni compuesto.
¿A qué edad aprenden los niños los números primos? ›¿Cuándo aprenden los niños sobre los números primos? Su hijo comenzará a aprender sobre los números primos en el año 5 . Al final del año 6, se espera que su hijo recuerde los números primos hasta el 19.
¿Por qué el 4 no es un número primo? ›Definición: Un número primo es un número entero con exactamente dos divisores enteros, 1 y él mismo. El número 1 no es primo, ya que tiene un solo divisor. El número 4 no es primo, ya que tiene tres divisores (1, 2 y 4) , y el 6 no es primo, ya que tiene cuatro divisores (1, 2, 3 y 6).
¿Por qué enseñamos los números primos? ›Son los componentes básicos de los números enteros . Un número primo es un número que solo es divisible por uno y por sí mismo, lo que básicamente significa que no tiene divisor. Eso elimina inmediatamente la mitad de todos los números posibles de la mesa (los pares), junto con todos los múltiplos de tres, cuatro, cinco, etc.
¿Por qué los números pares no pueden ser números primos? ›Primero, excepto el número 2, todos los números primos son impares, ya que un número par es divisible por 2 , lo que lo hace compuesto.
¿Qué es un número impar y primo? ›Los números impares se definen como aquellos números que no se pueden dividir en partes iguales. Los números enteros positivos que no se pueden dividir en dos grupos se conocen como números impares. Un número primo es un número mayor que 1 que tiene exactamente dos elementos, a saber, 1 y el número en sí.
¿Qué un número impar? ›Un número es impar si es no es múltiplo de dos. Número impar = 2 · n − 1. n es cualquier número entero.
¿Cuál es el número impar? ›Los números impares son los números que no se pueden dividir entre 2 de manera uniforme . No se puede dividir en dos enteros separados por igual. Si dividimos un número impar por 2, entonces dejará un resto. Los ejemplos de números impares son 1, 3, 5, 7, etc.
¿Qué son los números primos y un ejemplo? ›Definición: Un número primo es un número entero con exactamente dos divisores integrales, 1 y el número mismo. El número 1 no es un primo, ya que solo tiene un divisor. Así los números primos más pequeños son: 2, 3, 5, 7, ...
¿Cuántos números pares hay entre 2 y 500? ›¿Cuántos número pares hay entre 2 y 500? Es decir, hay 250 números pares entre 2 y 500.
¿El 5 negativo es un número impar? ›
Un entero es un entero impar, si no es divisible por 2. Entonces, los enteros 1,3,5,... y −1,−3,−5,.... son enteros pares .
¿Cuál es el único número primo que es par? ›El número 2 es el único primo par, debido a que, tal como lo establece la regla, este solamente puede dividirse por 1 y sí mismo, mientras que, el resto de los números pares, además de dividirse de esta forma, también son múltiplos del 2 o incluso, de otros números, considerándose números compuestos.