<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Gavriel Linoy</title>
    <description>The latest articles on DEV Community by Gavriel Linoy (@gavriel770u).</description>
    <link>https://dev.to/gavriel770u</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1310394%2Fe9aaf4cf-ca40-47d2-974e-d96a1bd11c5a.png</url>
      <title>DEV Community: Gavriel Linoy</title>
      <link>https://dev.to/gavriel770u</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/gavriel770u"/>
    <language>en</language>
    <item>
      <title>Fractals Using Pascal Triangle</title>
      <dc:creator>Gavriel Linoy</dc:creator>
      <pubDate>Sun, 10 Mar 2024 15:30:48 +0000</pubDate>
      <link>https://dev.to/gavriel770u/fractals-using-pascal-triangle-1kd4</link>
      <guid>https://dev.to/gavriel770u/fractals-using-pascal-triangle-1kd4</guid>
      <description>&lt;p&gt;&lt;strong&gt;Pascal Fractals&lt;/strong&gt;&lt;br&gt;
It is possible to recreate interesting fractals like infinite triangles inside smaller triangles, using Pascal triangle.&lt;/p&gt;

&lt;p&gt;So, firstly, we have to understand what is Pascal's Triangle?&lt;br&gt;
Well, it is just a triangle that consists of numbers:&lt;br&gt;
1&lt;br&gt;
1 1&lt;br&gt;
1 2 1&lt;br&gt;
1 3 3 1&lt;br&gt;
1 4 6 4 1&lt;br&gt;
...&lt;br&gt;
The first line is 1, and the second is 11,&lt;br&gt;
then the first and the last elements are 1, &lt;br&gt;
and the others are just the sums of 2 elements that are near to each other.&lt;/p&gt;

&lt;p&gt;Then, let's find out how to get Nth element of Pascal array that will be stored like: [1, 1, 1, 1, 2, 1, 1, 3, 3, 1, ...]&lt;br&gt;
The array length is actually the Nth element of the geometric series: 1+2+3+...+n&lt;br&gt;
We will use the formula Sn = an² + bn + c&lt;br&gt;
S0 = 0 = a*(0)² + b*(0) + c =&amp;gt; c = 0&lt;br&gt;
S1 = 1 = a*(1)² + b*(1) + 0 =&amp;gt; a + b = 1&lt;br&gt;
S2 = 3 = a*(2)² + b*(2) + 0 =&amp;gt; 4*a + 2*b = 3&lt;br&gt;
If we solve the equation's system we get a = 0.5 = b&lt;br&gt;
Thus, we get the formula:&lt;br&gt;
Sn = 0.5*n² + 0.5*n = (n * (n + 1)) / 2&lt;/p&gt;

&lt;p&gt;Then, even if we use &lt;code&gt;long&lt;/code&gt; type it will return negative value at some point, so to avoid that when we use modulo (%) we can use the python implementation for the whole array:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;   &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;static&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;modPascalArray&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;long&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt; &lt;span class="n"&gt;pascalArr&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;mod&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
    &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

        &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;pascalArr&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;length&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++)&lt;/span&gt;
        &lt;span class="o"&gt;{&lt;/span&gt;
            &lt;span class="n"&gt;pascalArr&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;pascalArr&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;mod&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;mod&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;mod&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
        &lt;span class="o"&gt;}&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And then we can write simple graphics and get beautiful results for mod that is power of 2! :D&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0l4v1cys7sa1zx5nj12v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0l4v1cys7sa1zx5nj12v.png" alt="Image description" width="800" height="602"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;GitHub repository: &lt;a href="https://github.com/Gavriel770U/Pascal"&gt;https://github.com/Gavriel770U/Pascal&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>pascal</category>
      <category>fractals</category>
      <category>programming</category>
    </item>
    <item>
      <title>Directory Errors In Python</title>
      <dc:creator>Gavriel Linoy</dc:creator>
      <pubDate>Wed, 28 Feb 2024 10:07:57 +0000</pubDate>
      <link>https://dev.to/gavriel770u/directory-errors-in-python-8gb</link>
      <guid>https://dev.to/gavriel770u/directory-errors-in-python-8gb</guid>
      <description>&lt;p&gt;&lt;strong&gt;Directory Errors&lt;/strong&gt;&lt;br&gt;
Sometimes Python make issues with directories, so this is code skeleton to solve this issue!&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="bp"&gt;None&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Hello&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;__main__&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;abspath&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;abspath&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;__file__&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;dname&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;dirname&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;abspath&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;chdir&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;dname&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>python</category>
    </item>
  </channel>
</rss>
