{"id":164,"date":"2024-02-26T00:27:36","date_gmt":"2024-02-25T16:27:36","guid":{"rendered":"http:\/\/tobykskgd.life\/?p=164"},"modified":"2024-02-26T00:32:07","modified_gmt":"2024-02-25T16:32:07","slug":"06","status":"publish","type":"post","link":"https:\/\/tobykskgd.life\/index.php\/06\/","title":{"rendered":"[CS50\u4f5c\u4e1a2023]Week1 &#8211; C"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full\"><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/tobykskgd.life\/wp-content\/uploads\/2024\/02\/\u5c4f\u5e55\u622a\u56fe-2024-02-26-003148.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" width=\"974\" height=\"532\" data-original=\"https:\/\/tobykskgd.life\/wp-content\/uploads\/2024\/02\/\u5c4f\u5e55\u622a\u56fe-2024-02-26-003148.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-167\"  sizes=\"auto, (max-width: 974px) 100vw, 974px\" \/><\/div><\/figure>\n\n\n\n<p><a href=\"https:\/\/cs50.harvard.edu\/x\/2023\/psets\/1\/#problem-set-1\">Problem Set 1<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/cs50.harvard.edu\/x\/2023\/psets\/1\/hello\/\">Hello<\/a>\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;cs50.h&gt;\n#include &lt;stdio.h&gt;\n\nint main(void)\n{\n    string name = get_string(\"What's your name?\");\n    printf(\"hello,%s\\n\", name);\n}<\/code><\/pre>\n\n\n\n<p><a href=\"https:\/\/cs50.harvard.edu\/x\/2023\/psets\/1\/mario\/more\/\"><br>this version of Mario<\/a>&nbsp;if feeling more comfortable\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;cs50.h&gt;\n#include &lt;stdio.h&gt;\n\nint main(void)\n{\n    int H;\n    do\n    {\n        H = get_int(\"Height: \");\n    }\n    while (H &lt; 1 || H &gt; 8);\n\n    for (int i = 0; i &lt; H; i++)\n    {\n        for (int m = H - i - 1; m != 0; m--)\n        {\n            printf(\" \");\n        }\n        for (int j = H - i - 1; j &lt; H; j++)\n        {\n            printf(\"#\");\n        }\n        printf(\"  \");\n        for (int n = H - i - 1; n &lt; H; n++)\n        {\n            printf(\"#\");\n        }\n        printf(\"\\n\");\n    }\n}<\/code><\/pre>\n\n\n\n<p><a href=\"https:\/\/cs50.harvard.edu\/x\/2023\/psets\/1\/credit\/\">Credit<\/a>&nbsp;if feeling more comfortable\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;cs50.h&gt;\n#include &lt;stdio.h&gt;\n\nint main(void)\n{\n    long number;\n    number = get_long(\"Number: \");\n    int I = number \/ 10.e14;\n    int A = number \/ 10.e13;\n    int V = number \/ 10.e11;\n    int A_1 = number \/ 10000000000000 % 10;\n    int M_1 = number \/ 100000000000000 % 10;\n    if (I == 4)\n    {\n        int n16 = number % 10;\n        int n15 = number \/ 10 % 10;\n        int n14 = number \/ 100 % 10;\n        int n13 = number \/ 1000 % 10;\n        int n12 = number \/ 10000 % 10;\n        int n11 = number \/ 100000 % 10;\n        int n10 = number \/ 1000000 % 10;\n        int n9 = number \/ 10000000 % 10;\n        int n8 = number \/ 100000000 % 10;\n        int n7 = number \/ 1000000000 % 10;\n        int n6 = number \/ 10000000000 % 10;\n        int n5 = number \/ 100000000000 % 10;\n        int n4 = number \/ 1000000000000 % 10;\n        int n3 = number \/ 10000000000000 % 10;\n        int n2 = number \/ 100000000000000 % 10;\n        int n1 = number \/ 1000000000000000 % 10;\n        int m15 = n15 * 2;\n        if (m15 &gt; 9)\n        {\n            m15 = m15 % 10 + m15 \/ 10;\n        }\n        int m13 = n13 * 2;\n        if (m13 &gt; 9)\n        {\n            m13 = m13 % 10 + m13 \/ 10;\n        }\n        int m11 = n11 * 2;\n        if (m11 &gt; 9)\n        {\n            m11 = m11 % 10 + m11 \/ 10;\n        }\n        int m9 = n9 * 2;\n        if (m9 &gt; 9)\n        {\n            m9 = m9 % 10 + m9 \/ 10;\n        }\n        int m7 = n7 * 2;\n        if (m7 &gt; 9)\n        {\n            m7 = m7 % 10 + m7 \/ 10;\n        }\n        int m5 = n5 * 2;\n        if (m5 &gt; 9)\n        {\n            m5 = m5 % 10 + m5 \/ 10;\n        }\n        int m3 = n3 * 2;\n        if (m3 &gt; 9)\n        {\n            m3 = m3 % 10 + m3 \/ 10;\n        }\n        int m1 = n1 * 2;\n        if (m1 &gt; 9)\n        {\n            m1 = m1 % 10 + m1 \/ 10;\n        }\n        int sum_1 = m1 + m3 + m5 + m7 + m9 + m11 + m13 + m15;\n        int sum_2 = n16 + n14 + n12 + n10 + n8 + n6 + n4 + n2;\n        int sum = sum_1 + sum_2;\n        if (sum % 10 == 0)\n        {\n            printf(\"VISA\\n\");\n        }\n        else\n        {\n            printf(\"INVALID\\n\");\n        }\n    }\n    else if ((I == 2 || I == 5) &amp;&amp; (M_1 == 1 || M_1 == 2 || M_1 == 3 || M_1 == 4 || M_1 == 5))\n    {\n\n        int n16 = number % 10;\n        int n15 = number \/ 10 % 10;\n        int n14 = number \/ 100 % 10;\n        int n13 = number \/ 1000 % 10;\n        int n12 = number \/ 10000 % 10;\n        int n11 = number \/ 100000 % 10;\n        int n10 = number \/ 1000000 % 10;\n        int n9 = number \/ 10000000 % 10;\n        int n8 = number \/ 100000000 % 10;\n        int n7 = number \/ 1000000000 % 10;\n        int n6 = number \/ 10000000000 % 10;\n        int n5 = number \/ 100000000000 % 10;\n        int n4 = number \/ 1000000000000 % 10;\n        int n3 = number \/ 10000000000000 % 10;\n        int n2 = number \/ 100000000000000 % 10;\n        int n1 = number \/ 1000000000000000 % 10;\n        int m15 = n15 * 2;\n        if (m15 &gt; 9)\n        {\n            m15 = m15 % 10 + m15 \/ 10;\n        }\n        int m13 = n13 * 2;\n        if (m13 &gt; 9)\n        {\n            m13 = m13 % 10 + m13 \/ 10;\n        }\n        int m11 = n11 * 2;\n        if (m11 &gt; 9)\n        {\n            m11 = m11 % 10 + m11 \/ 10;\n        }\n        int m9 = n9 * 2;\n        if (m9 &gt; 9)\n        {\n            m9 = m9 % 10 + m9 \/ 10;\n        }\n        int m7 = n7 * 2;\n        if (m7 &gt; 9)\n        {\n            m7 = m7 % 10 + m7 \/ 10;\n        }\n        int m5 = n5 * 2;\n        if (m5 &gt; 9)\n        {\n            m5 = m5 % 10 + m5 \/ 10;\n        }\n        int m3 = n3 * 2;\n        if (m3 &gt; 9)\n        {\n            m3 = m3 % 10 + m3 \/ 10;\n        }\n        int m1 = n1 * 2;\n        if (m1 &gt; 9)\n        {\n            m1 = m1 % 10 + m1 \/ 10;\n        }\n        int sum_1 = m1 + m3 + m5 + m7 + m9 + m11 + m13 + m15;\n        int sum_2 = n16 + n14 + n12 + n10 + n8 + n6 + n4 + n2;\n        int sum = sum_1 + sum_2;\n        if (sum % 10 == 0)\n        {\n            printf(\"MASTERCARD\\n\");\n        }\n        else\n        {\n            printf(\"INVALID\\n\");\n        }\n    }\n    else if (A == 3 &amp;&amp; (A_1 == 4 || A_1 == 7))\n    {\n        int n15 = number % 10;\n        int n14 = number \/ 10 % 10;\n        int n13 = number \/ 100 % 10;\n        int n12 = number \/ 1000 % 10;\n        int n11 = number \/ 10000 % 10;\n        int n10 = number \/ 100000 % 10;\n        int n9 = number \/ 1000000 % 10;\n        int n8 = number \/ 10000000 % 10;\n        int n7 = number \/ 100000000 % 10;\n        int n6 = number \/ 1000000000 % 10;\n        int n5 = number \/ 10000000000 % 10;\n        int n4 = number \/ 100000000000 % 10;\n        int n3 = number \/ 1000000000000 % 10;\n        int n2 = number \/ 10000000000000 % 10;\n        int n1 = number \/ 100000000000000 % 10;\n        int m14 = n14 * 2;\n        if (m14 &gt; 9)\n        {\n            m14 = m14 % 10 + m14 \/ 10;\n        }\n        int m12 = n12 * 2;\n        if (m12 &gt; 9)\n        {\n            m12 = m12 % 10 + m12 \/ 10;\n        }\n        int m10 = n10 * 2;\n        if (m10 &gt; 9)\n        {\n            m10 = m10 % 10 + m10 \/ 10;\n        }\n        int m8 = n8 * 2;\n        if (m8 &gt; 9)\n        {\n            m8 = m8 % 10 + m8 \/ 10;\n        }\n        int m6 = n6 * 2;\n        if (m6 &gt; 9)\n        {\n            m6 = m6 % 10 + m6 \/ 10;\n        }\n        int m4 = n4 * 2;\n        if (m4 &gt; 9)\n        {\n            m4 = m4 % 10 + m4 \/ 10;\n        }\n        int m2 = n2 * 2;\n        if (m2 &gt; 9)\n        {\n            m2 = m2 % 10 + m2 \/ 10;\n        }\n        int sum_1 = m2 + m4 + m6 + m8 + m10 + m12 + m14;\n        int sum_2 = n15 + n13 + n11 + n9 + n7 + n5 + n3 + n1;\n        int sum = sum_1 + sum_2;\n        if (sum % 10 == 0)\n        {\n            printf(\"AMEX\\n\");\n        }\n        else\n        {\n            printf(\"INVALID\\n\");\n        }\n    }\n    else if (V == 4)\n    {\n        int n13 = number % 10;\n        int n12 = number \/ 10 % 10;\n        int n11 = number \/ 100 % 10;\n        int n10 = number \/ 1000 % 10;\n        int n9 = number \/ 10000 % 10;\n        int n8 = number \/ 100000 % 10;\n        int n7 = number \/ 1000000 % 10;\n        int n6 = number \/ 10000000 % 10;\n        int n5 = number \/ 100000000 % 10;\n        int n4 = number \/ 1000000000 % 10;\n        int n3 = number \/ 10000000000 % 10;\n        int n2 = number \/ 100000000000 % 10;\n        int n1 = number \/ 1000000000000 % 10;\n        int m12 = n12 * 2;\n        if (m12 &gt; 9)\n        {\n            m12 = m12 % 10 + m12 \/ 10;\n        }\n        int m10 = n10 * 2;\n        if (m10 &gt; 9)\n        {\n            m10 = m10 % 10 + m10 \/ 10;\n        }\n        int m8 = n8 * 2;\n        if (m8 &gt; 9)\n        {\n            m8 = m8 % 10 + m8 \/ 10;\n        }\n        int m6 = n6 * 2;\n        if (m6 &gt; 9)\n        {\n            m6 = m6 % 10 + m6 \/ 10;\n        }\n        int m4 = n4 * 2;\n        if (m4 &gt; 9)\n        {\n            m4 = m4 % 10 + m4 \/ 10;\n        }\n        int m2 = n2 * 2;\n        if (m2 &gt; 9)\n        {\n            m2 = m2 % 10 + m2 \/ 10;\n        }\n        int sum_1 = m2 + m4 + m6 + m8 + m10 + m12;\n        int sum_2 = n1 + n3 + n5 + n7 + n9 + n11 + n13;\n        int sum = sum_1 + sum_2;\n        if (sum % 10 == 0)\n        {\n            printf(\"VISA\\n\");\n        }\n        else\n        {\n            printf(\"INVALID\\n\");\n        }\n    }\n    else\n    {\n        printf(\"INVALID\\n\");\n    }\n}<\/code><\/pre>\n\n\n\n<p><a href=\"https:\/\/cs50.harvard.edu\/x\/2023\/labs\/1\/#lab-1-population-growth\">Lab 1: Population Growth<\/a><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;cs50.h&gt;\n#include &lt;stdio.h&gt;\n\nint main(void)\n{\n    \/\/ TODO: Prompt for start size\n    int s;\n    do\n    {\n        s = get_int(\"Start size:\");\n    }\n    while (s &lt; 9);\n    \/\/ TODO: Prompt for end size\n    int e;\n    do\n    {\n        e = get_int(\"End size:\");\n    }\n    while (e &lt; s);\n    \/\/ TODO: Calculate number of years until we reach threshold\n    int y = 0;\n    while (s &lt; e)\n    {\n        s = s + (s\/3) - (s\/4);\n        y++;\n    }\n\n    \/\/ TODO: Print number of years\n    printf(\"Years: %i\\n\",y);\n}<\/code><\/pre>\n\n\n\n<p><a href=\"https:\/\/cs50.harvard.edu\/x\/2023\/problems\/1\/#week-1-practice-problems\">Week 1 Practice Problems<\/a><br>Half\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ Calculate your half of a restaurant bill\n\/\/ Data types, operations, type casting, return value\n\n#include &lt;cs50.h&gt;\n#include &lt;stdio.h&gt;\n\nfloat half(float bill, float tax, int tip);\n\nint main(void)\n{\n    float bill_amount = get_float(\"Bill before tax and tip: \");\n    float tax_percent = get_float(\"Sale Tax Percent: \");\n    int tip_percent = get_int(\"Tip percent: \");\n\n    printf(\"You will owe $%.2f each!\\n\", half(bill_amount, tax_percent, tip_percent));\n}\n\n\/\/ TODO: Complete the function\nfloat half(float bill, float tax, int tip)\n{\n    float h = ((bill + bill * (tax \/ 100.0)) * (1 + tip \/ 100.0)) \/ 2.0;\n    return h;\n}<\/code><\/pre>\n\n\n\n<p><br>Prime\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;cs50.h&gt;\n#include &lt;stdio.h&gt;\n\nbool prime(int number);\n\nint main(void)\n{\n    int min;\n    do\n    {\n        min = get_int(\"Minimum: \");\n    }\n    while (min &lt; 1);\n\n    int max;\n    do\n    {\n        max = get_int(\"Maximum: \");\n    }\n    while (min &gt;= max);\n\n    for (int i = min; i &lt;= max; i++)\n    {\n        if (prime(i))\n        {\n            printf(\"%i\\n\", i);\n        }\n    }\n}\n\nbool prime(int number)\n{\n    \/\/ TODO\n    if (number == 1)\n    {\n        return false;\n    }\n    for (int j=2;j &lt; number;j++)\n    {\n        if (number%j == 0)\n        {\n            return false;\n        }\n    }\n    return true;\n}<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Problem Set 1 Hello\uff1a this version of Mario&nbsp;if feel [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13],"tags":[14,15],"class_list":["post-164","post","type-post","status-publish","format-standard","hentry","category-cs50","tag-cs50","tag-homework"],"_links":{"self":[{"href":"https:\/\/tobykskgd.life\/index.php\/wp-json\/wp\/v2\/posts\/164","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tobykskgd.life\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tobykskgd.life\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tobykskgd.life\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tobykskgd.life\/index.php\/wp-json\/wp\/v2\/comments?post=164"}],"version-history":[{"count":2,"href":"https:\/\/tobykskgd.life\/index.php\/wp-json\/wp\/v2\/posts\/164\/revisions"}],"predecessor-version":[{"id":168,"href":"https:\/\/tobykskgd.life\/index.php\/wp-json\/wp\/v2\/posts\/164\/revisions\/168"}],"wp:attachment":[{"href":"https:\/\/tobykskgd.life\/index.php\/wp-json\/wp\/v2\/media?parent=164"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tobykskgd.life\/index.php\/wp-json\/wp\/v2\/categories?post=164"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tobykskgd.life\/index.php\/wp-json\/wp\/v2\/tags?post=164"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}