Spaces:
Running
Running
feat(es): replace placeholder exercises with PDF exercises (Tier 1-3)
Browse files- exercises.json +202 -170
exercises.json
CHANGED
|
@@ -1,170 +1,202 @@
|
|
| 1 |
-
{
|
| 2 |
-
"zh": {
|
| 3 |
-
"tier1": [
|
| 4 |
-
{
|
| 5 |
-
"id": "zh-t1-fizzbuzz",
|
| 6 |
-
"title": "FizzBuzz",
|
| 7 |
-
"tier": 1,
|
| 8 |
-
"prompt": "写一个程序,打印从 1 到 30 的数字。\n\n规则:\n- 如果数字能被 3 整除,打印 \"嘶嘶\" 而不是数字\n- 如果数字能被 5 整除,打印 \"嗡嗡\" 而不是数字\n- 如果数字既能被 3 又能被 5 整除,打印 \"嘶嘶嗡嗡\"\n\n预期输出示例:1, 2, 嘶嘶, 4, 嗡嗡, 嘶嘶, 7, ...",
|
| 9 |
-
"expected_output": "1\n2\n嘶嘶\n4\n嗡嗡\n嘶嘶\n7\n8\n嘶嘶\n嗡嗡\n11\n嘶嘶\n13\n14\n嘶嘶嗡嗡",
|
| 10 |
-
"time_estimate_min": 10
|
| 11 |
-
},
|
| 12 |
-
{
|
| 13 |
-
"id": "zh-t1-factorial",
|
| 14 |
-
"title": "阶乘",
|
| 15 |
-
"tier": 1,
|
| 16 |
-
"prompt": "写一个函数,计算一个正整数的阶乘。\n\n例如:\n- 阶乘(5) → 120\n- 阶乘(0) → 1\n- 阶乘(7) → 5040\n\n提示:阶乘(n) = n × (n-1) × ... × 1",
|
| 17 |
-
"expected_output": "120\n1\n5040",
|
| 18 |
-
"time_estimate_min": 10
|
| 19 |
-
},
|
| 20 |
-
{
|
| 21 |
-
"id": "zh-t1-palindrome",
|
| 22 |
-
"title": "回文检测",
|
| 23 |
-
"tier": 1,
|
| 24 |
-
"prompt": "写一个函数,检测一个字符串是否是回文(正读反读都一样)。\n\n例如:\n- \"racecar\" → 是回文\n- \"hello\" → 不是回文\n- \"上海自来水来自海上\" → 是回文\n\n忽略大小写和空格。",
|
| 25 |
-
"expected_output": "是\n否\n是",
|
| 26 |
-
"time_estimate_min": 15
|
| 27 |
-
}
|
| 28 |
-
],
|
| 29 |
-
"tier2": [
|
| 30 |
-
{
|
| 31 |
-
"id": "zh-t2-calculator",
|
| 32 |
-
"title": "计算器",
|
| 33 |
-
"tier": 2,
|
| 34 |
-
"prompt": "写一个简单的命令行计算器,支持以下功能:\n\n- 加法、减法、乘法、除法\n- 处理除以零的错误\n- 循环接受用户输入,直到用户输入 '退出'\n\n输入格式:\"数字 运算符 数字\"(例如:\"10 + 5\")",
|
| 35 |
-
"expected_output": "计算器已启动(输入'退出'结束)\n>>> 10 + 5 = 15",
|
| 36 |
-
"time_estimate_min": 25
|
| 37 |
-
},
|
| 38 |
-
{
|
| 39 |
-
"id": "zh-t2-word-count",
|
| 40 |
-
"title": "词频统计",
|
| 41 |
-
"tier": 2,
|
| 42 |
-
"prompt": "写一个程序,统计一段文字中每个词出现的频率,并按频率从高到低排序输出前 10 个词。\n\n输入:一段中文或英文文字(可以硬编码在程序中)\n输出:词语及其出现次数,按频率排序",
|
| 43 |
-
"expected_output": "词频统计结果:\n\"的\": 15次\n\"是\": 12次\n...",
|
| 44 |
-
"time_estimate_min": 30
|
| 45 |
-
}
|
| 46 |
-
],
|
| 47 |
-
"tier3": [
|
| 48 |
-
{
|
| 49 |
-
"id": "zh-t3-data-analysis",
|
| 50 |
-
"title": "数据分析脚本",
|
| 51 |
-
"tier": 3,
|
| 52 |
-
"prompt": "写一个数据分析脚本,分析一组学生成绩数据。\n\n功能要求:\n1. 定义一组学生数据(姓名 + 成绩列表,至少 10 名学生)\n2. 计算班级平均分、最高分、最低分\n3. 按成绩分组(优秀 90+、良好 75-89、及格 60-74、不及格 <60)\n4. 找出成绩高于平均分的学生\n5. 输出完整报告",
|
| 53 |
-
"expected_output": "班级成绩分析报告\n=================\n平均分:78.5\n最高分:98(李明)\n最低分:45(王芳)\n...",
|
| 54 |
-
"time_estimate_min": 45
|
| 55 |
-
}
|
| 56 |
-
]
|
| 57 |
-
},
|
| 58 |
-
"es": {
|
| 59 |
-
"tier1": [
|
| 60 |
-
{
|
| 61 |
-
"id": "es-t1-
|
| 62 |
-
"title": "
|
| 63 |
-
"tier": 1,
|
| 64 |
-
"prompt": "
|
| 65 |
-
"expected_output": "1\n2\
|
| 66 |
-
"time_estimate_min": 10
|
| 67 |
-
},
|
| 68 |
-
{
|
| 69 |
-
"id": "es-t1-factorial",
|
| 70 |
-
"title": "Factorial",
|
| 71 |
-
"tier": 1,
|
| 72 |
-
"prompt": "Escribe una función que
|
| 73 |
-
"expected_output": "
|
| 74 |
-
"time_estimate_min": 10
|
| 75 |
-
},
|
| 76 |
-
{
|
| 77 |
-
"id": "es-t1-
|
| 78 |
-
"title": "Palíndromo",
|
| 79 |
-
"tier": 1,
|
| 80 |
-
"prompt": "Escribe una función que
|
| 81 |
-
"expected_output": "
|
| 82 |
-
"time_estimate_min":
|
| 83 |
-
}
|
| 84 |
-
|
| 85 |
-
|
| 86 |
-
|
| 87 |
-
"
|
| 88 |
-
"
|
| 89 |
-
"
|
| 90 |
-
"
|
| 91 |
-
|
| 92 |
-
|
| 93 |
-
|
| 94 |
-
{
|
| 95 |
-
"id": "es-t2-
|
| 96 |
-
"title": "
|
| 97 |
-
"tier": 2,
|
| 98 |
-
"prompt": "Escribe un
|
| 99 |
-
"expected_output": "
|
| 100 |
-
"time_estimate_min":
|
| 101 |
-
}
|
| 102 |
-
|
| 103 |
-
|
| 104 |
-
|
| 105 |
-
"
|
| 106 |
-
"
|
| 107 |
-
"
|
| 108 |
-
"
|
| 109 |
-
|
| 110 |
-
|
| 111 |
-
|
| 112 |
-
|
| 113 |
-
|
| 114 |
-
|
| 115 |
-
|
| 116 |
-
|
| 117 |
-
|
| 118 |
-
|
| 119 |
-
|
| 120 |
-
|
| 121 |
-
"
|
| 122 |
-
"
|
| 123 |
-
|
| 124 |
-
|
| 125 |
-
"
|
| 126 |
-
"
|
| 127 |
-
|
| 128 |
-
|
| 129 |
-
"
|
| 130 |
-
"
|
| 131 |
-
|
| 132 |
-
|
| 133 |
-
"
|
| 134 |
-
"
|
| 135 |
-
|
| 136 |
-
|
| 137 |
-
"
|
| 138 |
-
"
|
| 139 |
-
|
| 140 |
-
|
| 141 |
-
|
| 142 |
-
|
| 143 |
-
|
| 144 |
-
|
| 145 |
-
|
| 146 |
-
|
| 147 |
-
|
| 148 |
-
|
| 149 |
-
|
| 150 |
-
|
| 151 |
-
"
|
| 152 |
-
"
|
| 153 |
-
"
|
| 154 |
-
"
|
| 155 |
-
|
| 156 |
-
|
| 157 |
-
|
| 158 |
-
|
| 159 |
-
|
| 160 |
-
|
| 161 |
-
"
|
| 162 |
-
"
|
| 163 |
-
|
| 164 |
-
|
| 165 |
-
"
|
| 166 |
-
"
|
| 167 |
-
|
| 168 |
-
|
| 169 |
-
|
| 170 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"zh": {
|
| 3 |
+
"tier1": [
|
| 4 |
+
{
|
| 5 |
+
"id": "zh-t1-fizzbuzz",
|
| 6 |
+
"title": "FizzBuzz",
|
| 7 |
+
"tier": 1,
|
| 8 |
+
"prompt": "写一个程序,打印从 1 到 30 的数字。\n\n规则:\n- 如果数字能被 3 整除,打印 \"嘶嘶\" 而不是数字\n- 如果数字能被 5 整除,打印 \"嗡嗡\" 而不是数字\n- 如果数字既能被 3 又能被 5 整除,打印 \"嘶嘶嗡嗡\"\n\n预期输出示例:1, 2, 嘶嘶, 4, 嗡嗡, 嘶嘶, 7, ...",
|
| 9 |
+
"expected_output": "1\n2\n嘶嘶\n4\n嗡嗡\n嘶嘶\n7\n8\n嘶嘶\n嗡嗡\n11\n嘶嘶\n13\n14\n嘶嘶嗡嗡",
|
| 10 |
+
"time_estimate_min": 10
|
| 11 |
+
},
|
| 12 |
+
{
|
| 13 |
+
"id": "zh-t1-factorial",
|
| 14 |
+
"title": "阶乘",
|
| 15 |
+
"tier": 1,
|
| 16 |
+
"prompt": "写一个函数,计算一个正整数的阶乘。\n\n例如:\n- 阶乘(5) → 120\n- 阶乘(0) → 1\n- 阶乘(7) → 5040\n\n提示:阶乘(n) = n × (n-1) × ... × 1",
|
| 17 |
+
"expected_output": "120\n1\n5040",
|
| 18 |
+
"time_estimate_min": 10
|
| 19 |
+
},
|
| 20 |
+
{
|
| 21 |
+
"id": "zh-t1-palindrome",
|
| 22 |
+
"title": "回文检测",
|
| 23 |
+
"tier": 1,
|
| 24 |
+
"prompt": "写一个函数,检测一个字符串是否是回文(正读反读都一样)。\n\n例如:\n- \"racecar\" → 是回文\n- \"hello\" → 不是回文\n- \"上海自来水来自海上\" → 是回文\n\n忽略大小写和空格。",
|
| 25 |
+
"expected_output": "是\n否\n是",
|
| 26 |
+
"time_estimate_min": 15
|
| 27 |
+
}
|
| 28 |
+
],
|
| 29 |
+
"tier2": [
|
| 30 |
+
{
|
| 31 |
+
"id": "zh-t2-calculator",
|
| 32 |
+
"title": "计算器",
|
| 33 |
+
"tier": 2,
|
| 34 |
+
"prompt": "写一个简单的命令行计算器,支持以下功能:\n\n- 加法、减法、乘法、除法\n- 处理除以零的错误\n- 循环接受用户输入,直到用户输入 '退出'\n\n输入格式:\"数字 运算符 数字\"(例如:\"10 + 5\")",
|
| 35 |
+
"expected_output": "计算器已启动(输入'退出'结束)\n>>> 10 + 5 = 15",
|
| 36 |
+
"time_estimate_min": 25
|
| 37 |
+
},
|
| 38 |
+
{
|
| 39 |
+
"id": "zh-t2-word-count",
|
| 40 |
+
"title": "词频统计",
|
| 41 |
+
"tier": 2,
|
| 42 |
+
"prompt": "写一个程序,统计一段文字中每个词出现的频率,并按频率从高到低排序输出前 10 个词。\n\n输入:一段中文或英文文字(可以硬编码在程序中)\n输出:词语及其出现次数,按频率排序",
|
| 43 |
+
"expected_output": "词频统计结果:\n\"的\": 15次\n\"是\": 12次\n...",
|
| 44 |
+
"time_estimate_min": 30
|
| 45 |
+
}
|
| 46 |
+
],
|
| 47 |
+
"tier3": [
|
| 48 |
+
{
|
| 49 |
+
"id": "zh-t3-data-analysis",
|
| 50 |
+
"title": "数据分析脚本",
|
| 51 |
+
"tier": 3,
|
| 52 |
+
"prompt": "写一个数据分析脚本,分析一组学生成绩数据。\n\n功能要求:\n1. 定义一组学生数据(姓名 + 成绩列表,至少 10 名学生)\n2. 计算班级平均分、最高分、最低分\n3. 按成绩分组(优秀 90+、良好 75-89、及格 60-74、不及格 <60)\n4. 找出成绩高于平均分的学生\n5. 输出完整报告",
|
| 53 |
+
"expected_output": "班级成绩分析报告\n=================\n平均分:78.5\n最高分:98(李明)\n最低分:45(王芳)\n...",
|
| 54 |
+
"time_estimate_min": 45
|
| 55 |
+
}
|
| 56 |
+
]
|
| 57 |
+
},
|
| 58 |
+
"es": {
|
| 59 |
+
"tier1": [
|
| 60 |
+
{
|
| 61 |
+
"id": "es-t1-juego-del-7",
|
| 62 |
+
"title": "El Juego del 7",
|
| 63 |
+
"tier": 1,
|
| 64 |
+
"prompt": "Este es el clásico juego de conteo español. Cuenta desde 1 hasta 21.\n\nReglas:\n- Si el número contiene el dígito 7 o es múltiplo de 7 → imprime \"¡Boom!\"\n- Si el número es múltiplo de 3 → imprime \"¡Zas!\"\n- Si se cumplen ambas condiciones → imprime \"¡Boom-Zas!\"\n- De lo contrario → imprime el número\n\nEjemplo de salida (primeros valores): 1, 2, ¡Zas!, 4, 5, ¡Zas!, ¡Boom!, 8, ¡Zas!, 10 ...",
|
| 65 |
+
"expected_output": "1\n2\n¡Zas!\n4\n5\n¡Zas!\n¡Boom!\n8\n¡Zas!\n10\n11\n¡Zas!\n13\n¡Boom!\n¡Zas!\n16\n¡Boom!\n¡Zas!\n19\n20\n¡Boom-Zas!",
|
| 66 |
+
"time_estimate_min": 10
|
| 67 |
+
},
|
| 68 |
+
{
|
| 69 |
+
"id": "es-t1-factorial",
|
| 70 |
+
"title": "Factorial",
|
| 71 |
+
"tier": 1,
|
| 72 |
+
"prompt": "Escribe una función que acepte un número entero no negativo n y devuelva el factorial de n.\n\nEjemplos:\n- factorial(0) → 1\n- factorial(4) → 24\n- factorial(6) → 720\n\nPista: factorial(n) = n × (n-1) × ... × 1",
|
| 73 |
+
"expected_output": "1\n24\n720",
|
| 74 |
+
"time_estimate_min": 10
|
| 75 |
+
},
|
| 76 |
+
{
|
| 77 |
+
"id": "es-t1-palindromo",
|
| 78 |
+
"title": "Palíndromo",
|
| 79 |
+
"tier": 1,
|
| 80 |
+
"prompt": "Escribe una función que determine si una palabra en español es un palíndromo (se lee igual de izquierda a derecha que de derecha a izquierda). Devuelve verdadero o falso.\n\nEjemplos:\n- \"arenera\" → verdadero\n- \"somos\" → verdadero\n- \"ananá\" → verdadero\n- \"hola\" → falso\n- \"casa\" → falso\n- \"perro\" → falso",
|
| 81 |
+
"expected_output": "True\nTrue\nTrue\nFalse\nFalse\nFalse",
|
| 82 |
+
"time_estimate_min": 10
|
| 83 |
+
},
|
| 84 |
+
{
|
| 85 |
+
"id": "es-t1-ordenamiento",
|
| 86 |
+
"title": "Ordenamiento de Lista",
|
| 87 |
+
"tier": 1,
|
| 88 |
+
"prompt": "Sin usar funciones de ordenamiento incorporadas, implementa un algoritmo de ordenamiento para ordenar la lista [3, 1, 4, 2, 5] de menor a mayor.\n\nSalida esperada:\n[1, 2, 3, 4, 5]",
|
| 89 |
+
"expected_output": "[1, 2, 3, 4, 5]",
|
| 90 |
+
"time_estimate_min": 15
|
| 91 |
+
}
|
| 92 |
+
],
|
| 93 |
+
"tier2": [
|
| 94 |
+
{
|
| 95 |
+
"id": "es-t2-analizador",
|
| 96 |
+
"title": "Analizador de Archivos",
|
| 97 |
+
"tier": 2,
|
| 98 |
+
"prompt": "Escribe un script que lea un archivo CSV jugadores.csv (con columnas nombre, equipo, goles), imprima cada fila y cuente el total de goles.\n\nCrea el archivo jugadores.csv con este contenido:\nnombre,equipo,goles\nLionel Messi,Inter Miami,32\nKarim Benzema,Al-Ittihad,28\nVinicius Jr,Real Madrid,23\nRobert Lewandowski,Barcelona,19\n\nSalida esperada:\nJugador: Lionel Messi | Equipo: Inter Miami | Goles: 32\nJugador: Karim Benzema | Equipo: Al-Ittihad | Goles: 28\nJugador: Vinicius Jr | Equipo: Real Madrid | Goles: 23\nJugador: Robert Lewandowski | Equipo: Barcelona | Goles: 19\nTotal de goles: 102",
|
| 99 |
+
"expected_output": "Jugador: Lionel Messi | Equipo: Inter Miami | Goles: 32\nJugador: Karim Benzema | Equipo: Al-Ittihad | Goles: 28\nJugador: Vinicius Jr | Equipo: Real Madrid | Goles: 23\nJugador: Robert Lewandowski | Equipo: Barcelona | Goles: 19\nTotal de goles: 102",
|
| 100 |
+
"time_estimate_min": 20
|
| 101 |
+
},
|
| 102 |
+
{
|
| 103 |
+
"id": "es-t2-transformador",
|
| 104 |
+
"title": "Transformador de Datos",
|
| 105 |
+
"tier": 2,
|
| 106 |
+
"prompt": "Escribe una función que convierta notas numéricas a calificaciones españolas.\n\nEscala de calificaciones:\n- 9–10 → Sobresaliente\n- 7–8 → Notable\n- 5–6 → Aprobado\n- 0–4 → Suspenso\n\nEjemplos:\n- convertir_calificacion(9) → \"Sobresaliente\"\n- convertir_calificacion(7) → \"Notable\"\n- convertir_calificacion(5) → \"Aprobado\"\n- convertir_calificacion(3) → \"Suspenso\"\n\nLuego imprime los resultados para una lista de estudiantes: María García (9), Carlos López (7), Ana Martínez (5), Juan Rodríguez (3).",
|
| 107 |
+
"expected_output": "Nombre: María García | Nota: 9 | Calificación: Sobresaliente\nNombre: Carlos López | Nota: 7 | Calificación: Notable\nNombre: Ana Martínez | Nota: 5 | Calificación: Aprobado\nNombre: Juan Rodríguez | Nota: 3 | Calificación: Suspenso",
|
| 108 |
+
"time_estimate_min": 25
|
| 109 |
+
},
|
| 110 |
+
{
|
| 111 |
+
"id": "es-t2-calculadora",
|
| 112 |
+
"title": "Calculadora",
|
| 113 |
+
"tier": 2,
|
| 114 |
+
"prompt": "Escribe una calculadora que acepte dos números y un operador (+ - * /) como entrada del usuario e imprima el resultado. Maneja la división por cero.\n\nUsa variables de prueba hardcodeadas en lugar de input() para que el código se pueda ejecutar sin interacción:\n\nnumero1 = 10\noperador = \"*\"\nnumero2 = 5\n\nSalida esperada:\nResultado: 50.0",
|
| 115 |
+
"expected_output": "Resultado: 50.0",
|
| 116 |
+
"time_estimate_min": 25
|
| 117 |
+
}
|
| 118 |
+
],
|
| 119 |
+
"tier3": [
|
| 120 |
+
{
|
| 121 |
+
"id": "es-t3-fifa-rating",
|
| 122 |
+
"title": "Sistema de Calificación FIFA",
|
| 123 |
+
"tier": 3,
|
| 124 |
+
"prompt": "Eres el jefe de scouts de un club español. Escribe un script que calcule una calificación FIFA personalizada para cada jugador basada en sus estadísticas.\n\nFórmula:\nCalificación = (goles × 3) + (asistencias × 2) + (pases_clave × 1.5) - (tarjetas_amarillas × 1) - (tarjetas_rojas × 3)\nCalificación_final = (Calificación / partidos) × 10 → escala 0–99\n\nUsa estos jugadores (hardcodeados como lista):\n- Lionel Messi: 25 partidos, 32 goles, 16 asistencias, 45 pases_clave, 2 amarillas, 0 rojas\n- Karim Benzema: 20 partidos, 28 goles, 8 asistencias, 30 pases_clave, 1 amarilla, 0 rojas\n- Vinicius Jr: 28 partidos, 23 goles, 11 asistencias, 38 pases_clave, 5 amarillas, 1 roja\n- Kylian Mbappe: 24 partidos, 28 goles, 9 asistencias, 35 pases_clave, 2 amarillas, 0 rojas\n- Luka Modric: 26 partidos, 5 goles, 12 asistencias, 55 pases_clave, 4 amarillas, 0 rojas\n- Pedri: 24 partidos, 7 goles, 10 asistencias, 48 pases_clave, 2 amarillas, 0 rojas\n\nImprime la tabla ordenada por calificación (mayor a menor) e indica el MVP.",
|
| 125 |
+
"expected_output": "===== SISTEMA DE CALIFICACIÓN FIFA — TEMPORADA 2023/24 =====\nLionel Messi | 25 | 32 | 16 | 99\nKylian Mbappe | 24 | 28 | 9 | 88\nKarim Benzema | 20 | 28 | 8 | 86\nVinicius Jr | 28 | 23 | 11 | 72\nPedri | 24 | 7 | 10 | 61\nLuka Modric | 26 | 5 | 12 | 58\n\n🏆 MVP de la Temporada: Lionel Messi (Calificación: 99)\n📊 Promedio del equipo: 77.33",
|
| 126 |
+
"time_estimate_min": 40
|
| 127 |
+
},
|
| 128 |
+
{
|
| 129 |
+
"id": "es-t3-piedra-papel-tijera",
|
| 130 |
+
"title": "Piedra, Papel, Tijera",
|
| 131 |
+
"tier": 3,
|
| 132 |
+
"prompt": "Escribe el clásico juego español de Piedra, Papel, Tijera. El jugador compite contra la computadora en una serie de rondas.\n\nRequisitos:\n- El juego lleva la puntuación (victorias, derrotas, empates)\n- La computadora elige aleatoriamente\n- Muestra el resultado de cada ronda\n- Al final muestra estadísticas: victorias, derrotas, empates y porcentaje de victorias\n\nComo el código se ejecuta sin input(), simula 3 rondas hardcodeadas:\nelecciones_jugador = [\"piedra\", \"papel\", \"tijera\"]\n\nUsa random.seed(42) para resultados reproducibles.",
|
| 133 |
+
"expected_output": "===== PIEDRA, PAPEL, TIJERA =====\n--- Ronda 1 ---\n🤖 La computadora eligió: tijera\n✅ ¡Ganaste esta ronda!\n--- Ronda 2 ---\n🤖 La computadora eligió: papel\n🤝 ¡Empate!\n--- Ronda 3 ---\n🤖 La computadora eligió: piedra\n❌ ¡Perdiste esta ronda!\n===== RESULTADO FINAL =====\nVictorias: 1 | Derrotas: 1 | Empates: 1\nPorcentaje de victorias: 33.33%",
|
| 134 |
+
"time_estimate_min": 45
|
| 135 |
+
},
|
| 136 |
+
{
|
| 137 |
+
"id": "es-t3-cribo",
|
| 138 |
+
"title": "El Cribo de Eratóstenes",
|
| 139 |
+
"tier": 3,
|
| 140 |
+
"prompt": "El Cribo de Eratóstenes es un algoritmo matemático de la antigua Grecia, enseñado en todas las escuelas de España. Escribe una implementación del cribo que encuentre todos los números primos hasta n=50 y muestre estadísticas.\n\nEstadísticas requeridas:\n- Total de primos encontrados\n- Primo más pequeño y más grande\n- Primo más cercano a n/2\n- Suma y promedio de todos los primos\n- Porcentaje de primos en el rango\n\nUsa n = 50 (hardcodeado).",
|
| 141 |
+
"expected_output": "===== EL CRIBO DE ERATÓSTENES =====\nCalculando números primos hasta 50...\n\nPrimos encontrados:\n2 3 5 7 11 13 17 19 23 29 31 37 41 43 47\n\n===== ESTADÍSTICAS =====\nTotal de primos encontrados: 15\nPrimo más pequeño: 2\nPrimo más grande: 47\nPrimo más cercano a n/2: 23\nSuma de todos los primos: 328\nPromedio de primos: 21.87\nPorcentaje de primos en rango 1-50: 30.0%",
|
| 142 |
+
"time_estimate_min": 40
|
| 143 |
+
}
|
| 144 |
+
]
|
| 145 |
+
},
|
| 146 |
+
"ur": {
|
| 147 |
+
"tier1": [
|
| 148 |
+
{
|
| 149 |
+
"id": "ur-t1-fizzbuzz",
|
| 150 |
+
"title": "فز بز",
|
| 151 |
+
"tier": 1,
|
| 152 |
+
"prompt": "ایک پروگرام لکھیں جو 1 سے 30 تک کے اعداد پرنٹ کرے۔\n\nقواعد:\n- اگر عدد 3 پر پوری طرح تقسیم ہو تو \"فز\" پرنٹ کریں\n- اگر عدد 5 پر پوری طرح تقسیم ہو تو \"بز\" پرنٹ کریں\n- اگر دونوں پر تقسیم ہو تو \"فز بز\" پرنٹ کریں\n\nمثال: 1، 2، فز، 4، بز، فز، 7، ...",
|
| 153 |
+
"expected_output": "1\n2\nفز\n4\nبز\nفز\n7\n8\nفز\nبز\n11\nفز\n13\n14\nفز بز",
|
| 154 |
+
"time_estimate_min": 10
|
| 155 |
+
},
|
| 156 |
+
{
|
| 157 |
+
"id": "ur-t1-factorial",
|
| 158 |
+
"title": "فیکٹوریل",
|
| 159 |
+
"tier": 1,
|
| 160 |
+
"prompt": "ایک فنکشن لکھیں جو کسی مثبت پورے عدد کا فیکٹوریل حساب کرے۔\n\nمثالیں:\n- فیکٹوریل(5) ← 120\n- فیکٹوریل(0) ← 1\n- فیکٹوریل(7) ← 5040\n\nیاد رہے: فیکٹوریل(ن) = ن × (ن-1) × ... × 1",
|
| 161 |
+
"expected_output": "120\n1\n5040",
|
| 162 |
+
"time_estimate_min": 10
|
| 163 |
+
},
|
| 164 |
+
{
|
| 165 |
+
"id": "ur-t1-palindrome",
|
| 166 |
+
"title": "پیلنڈروم جانچ",
|
| 167 |
+
"tier": 1,
|
| 168 |
+
"prompt": "ایک فنکشن لکھیں جو یہ بتائے کہ کوئی لفظ یا جملہ پیلنڈروم ہے یا نہیں (یعنی آگے پیچھے سے ایک جیسا پڑھا جائے)۔\n\nمثالیں:\n- \"ملم\" ← پیلنڈروم ہے\n- \"سلام\" ← پیلنڈروم نہیں\n- \"racecar\" ← پیلنڈروم ہے\n\nبڑے اور چھوٹے حروف اور خالی جگہوں کو نظرانداز کریں۔",
|
| 169 |
+
"expected_output": "ہاں\nنہیں\nہاں",
|
| 170 |
+
"time_estimate_min": 15
|
| 171 |
+
}
|
| 172 |
+
],
|
| 173 |
+
"tier2": [
|
| 174 |
+
{
|
| 175 |
+
"id": "ur-t2-calculator",
|
| 176 |
+
"title": "حساب کتاب",
|
| 177 |
+
"tier": 2,
|
| 178 |
+
"prompt": "ایک کمانڈ لائن کیلکولیٹر لکھیں جو یہ کام کرے:\n\n- جمع، تفریق، ضرب اور تقسیم\n- صفر سے تقسیم کی غلطی کو سنبھالنا\n- لوپ جو 'خروج' لکھنے تک جاری رہے\n\nاندراج کی شکل: \"عدد آپریٹر عدد\" (مثلاً: \"10 + 5\")",
|
| 179 |
+
"expected_output": "کیلکولیٹر شروع ہو گیا ('خروج' لکھیں بند کرنے کے لیے)\n>>> 10 + 5 = 15",
|
| 180 |
+
"time_estimate_min": 25
|
| 181 |
+
},
|
| 182 |
+
{
|
| 183 |
+
"id": "ur-t2-word-count",
|
| 184 |
+
"title": "الفاظ شمار",
|
| 185 |
+
"tier": 2,
|
| 186 |
+
"prompt": "ایک پروگرام لکھیں جو کسی متن میں ہر لفظ کتنی بار آیا یہ گنے اور سب سے زیادہ استعمال ہونے والے 10 الفاظ دکھائے۔\n\nاندراج: کوئی بھی متن (پروگرام میں لکھا جا سکتا ہے)\nنتیجہ: الفاظ اور ان کی تعداد، زیادہ سے کم ترتیب میں",
|
| 187 |
+
"expected_output": "الفاظ شماری کا نتیجہ:\n\"کا\": 15 بار\n\"اور\": 12 بار\n...",
|
| 188 |
+
"time_estimate_min": 30
|
| 189 |
+
}
|
| 190 |
+
],
|
| 191 |
+
"tier3": [
|
| 192 |
+
{
|
| 193 |
+
"id": "ur-t3-data-analysis",
|
| 194 |
+
"title": "ڈیٹا تجزیہ",
|
| 195 |
+
"tier": 3,
|
| 196 |
+
"prompt": "طلبہ کے نمبروں کے ڈیٹا کا تجزیہ کرنے والا اسکرپٹ لکھیں۔\n\nضروریات:\n1. کم از کم 10 طلبہ کا ڈیٹا تیار کریں (نام + نمبر)\n2. اوسط، سب سے زیادہ اور سب سے کم نمبر حساب کریں\n3. کارکردگی کے مطابق گروپ بنائیں (اعلیٰ 90+، اچھا 75-89، ٹھیک 60-74، کمزور <60)\n4. اوسط سے زیادہ نمبر والے طلبہ کی فہرست بنائیں\n5. مکمل رپورٹ تیار کریں",
|
| 197 |
+
"expected_output": "طلبہ کی کارکردگی رپورٹ\n====================\nاوسط: 78.5\nسب سے زیادہ: 98 (احمد علی)\nسب سے کم: 45 (سارہ خان)\n...",
|
| 198 |
+
"time_estimate_min": 45
|
| 199 |
+
}
|
| 200 |
+
]
|
| 201 |
+
}
|
| 202 |
+
}
|