{"id":1281,"date":"2014-03-02T10:00:31","date_gmt":"2014-03-02T15:00:31","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/icm00794\/?p=1281"},"modified":"2025-12-24T10:07:39","modified_gmt":"2025-12-24T15:07:39","slug":"s2eva2002tii_t1-numero-perfecto","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-ejemplos\/fp-s2e10\/s2eva2002tii_t1-numero-perfecto\/","title":{"rendered":"s2Eva2002TII_T1 Verificar si es \"N\u00famero perfecto\""},"content":{"rendered":"\n<p><em><strong>Ejercicio<\/strong><\/em>: <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-evalua\/fp-2e05\/2eva2002tii_t1-numero-perfecto\/\" data-type=\"post\" data-id=\"2843\">2Eva2002TII_T1 N\u00famero perfecto<\/a><\/p>\n\n\n\n<p>Un n\u00famero perfecto es aquel que es igual a la suma de todos sus divisores, con excepci\u00f3n del mismo.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Ejemplo:\n 6 es <em>perfecto<\/em> porque, \n   sus divisores son: 1, 2, 3 (6 no se considera).\n   1+2+3=6<\/code><\/pre>\n\n\n\n<p><strong>literal a<\/strong>. verificar mediante una funci\u00f3n <code>perfecto(n)<\/code><\/p>\n\n\n\n<p>Se busca entre todos los n\u00fameros enteros <code>i<\/code> entre 1 y <code>n<\/code>, revisando el residuo entre <code>n%i<\/code>. Si el residuo es cero, es divisible y se acumula en suma para verificar el n\u00famero perfecto. Al final de la b\u00fasqueda si <code>n==suma<\/code> se considera el n\u00famero como perfecto.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Algoritmo en Python<\/h2>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# ICM00794-Fundamentos de Computaci\u00f3n - FCNM-ESPOL\n# 2Eva_IIT2002_T1 N\u00famero perfecto\n# Propuesta de soluci\u00f3n: edelros@espol.edu.ec\n\nimport numpy as np\n\n# literal a. funcion\ndef perfecto(n):\n    suma = 0\n    i = 1\n    while (i&lt;n):\n        residuo = n%i\n        # Acumula solo si i es divisor\n        if residuo == 0:\n            suma = suma + i\n        i = i + 1\n    if n == suma:\n        esperfecto = 1\n    else:\n        esperfecto = 0\n    return (esperfecto)\n\n\n# literal b. PROGRAMA ----------\n# Nota, busca numeros perfectos entre &#x5B;1,m]\n\n# INGRESO\nm = int(input('\u00bfrango m? : '))\n\n# PROCEDIMIENTO\nencontrado = np.zeros(m+1,dtype=int)\nk = 0\ni = 1\nwhile (i&lt;=m):\n    encontrado&#x5B;i] = perfecto(i)\n    i = i+1\n\n# SALIDA\ni = 1\nwhile (i&lt;=m):\n    if encontrado&#x5B;i]==1:\n        print(i)\n    i=i+1\n<\/pre><\/div>\n\n\n<p><strong>literal b<\/strong>. Listar n\u00fameros perfectos entre [1,m], consiste en crear una lista con todos los n\u00fameros que se verifican con la funci\u00f3n creada en el literal a.<\/p>\n\n\n\n<p><strong>resultado del algoritmo<\/strong><br><em><strong>Nota<\/strong><\/em>: cambiando el enunciado, se busca n\u00fameros perfectos en el rango [1,m]<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u00bfrango m? : 50\n6\n28\n&gt;&gt;&gt; \n\u00bfrango m? : 1000\n6\n28\n496\n&gt;&gt;&gt; \n\u00bfrango m? : 10000\n6\n28\n496\n8128\n&gt;&gt;&gt; <\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ejercicio: 2Eva2002TII_T1 N\u00famero perfecto Un n\u00famero perfecto es aquel que es igual a la suma de todos sus divisores, con excepci\u00f3n del mismo. literal a. verificar mediante una funci\u00f3n perfecto(n) Se busca entre todos los n\u00fameros enteros i entre 1 y n, revisando el residuo entre n%i. Si el residuo es cero, es divisible y [&hellip;]<\/p>\n","protected":false},"author":8043,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"wp-custom-template-entrada-fp-ejemplos","format":"standard","meta":{"footnotes":""},"categories":[131],"tags":[58,157],"class_list":["post-1281","post","type-post","status-publish","format-standard","hentry","category-fp-s2e10","tag-ejemplos-python","tag-fundamentos-programacion"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/1281","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/users\/8043"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/comments?post=1281"}],"version-history":[{"count":3,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/1281\/revisions"}],"predecessor-version":[{"id":19052,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/1281\/revisions\/19052"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=1281"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=1281"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=1281"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}