Giter VIP home page Giter VIP logo

integer-sequences's Introduction

Read this guide in other languages

Integer Sequences

Project Introduction

This is a relatively simple, beginner friendly open source project that is an excellent choice to contribute to for those who want to make their first open source contributions. However, anyone is free to contribute.

The purpose of this project is to create a database of algorithms using your choice of programming language, where each algorithm will return the nth element of one of the notable integer sequences listed on the following wikipedia link. https://en.wikipedia.org/wiki/List_of_integer_sequences

This wikipedia link contains a list of many notable integer sequences, such as the prime numbers, the Kolakoski sequence, Motzkin numbers, Lucas numbers etc...

'n' Represents an integer input by the user. For example, if the user inputs the integer '2', then your algorithm should return the third element of the sequence (because the indexing starts at 0, the first element of the sequence is for n=0, the second element is for n=1, etc).

If someone needs to implement one of the more obscure integer sequences listed on the wikipedia page within their own program, it is likely that they will have to develop their own algorithm from scratch to find the nth element of the sequence, as no code to generate these obscure sequences will exist on the internet.

I want to complete the database of algorithms within this project so that others can simply use the algorithms within my database instead of wasting time developing their own algorithms. Anyone is free to use the code within this project in their own software, there is no need to ask for permission because this project uses the Unlicense.

How to Contribute

Have a look at the wikipedia link https://en.wikipedia.org/wiki/List_of_integer_sequences

Look at the list of notable integer sequences and develop an algorithm in any programming language to return the nth element of the sequence. The indexing starts at 0, so if the user inputs n=0, this will return the first element of the sequence, n=1 returns the second element etc. Look at the project repository to ensure that code for your integer sequence of choice has not already been added to the project in your programming language of choice.

For example, if someone has created a Python algorithm for the Bell numbers and added it to the project, you can still create an algorithm for the Bell numbers in any other language, just not with Python.

If no code for a specific integer sequence exists in the project repository, you can create code for this integer sequence in any programming language you want.

Look at code that already exists within the project repository, use this to guide you and help you develop your own algorithm.

After you are happy with the code you have developed, submit a pull request using the pull request template, and also update the tracking list. I will then review your code to ensure that it works as expected, and then add it to the project repository. If your code produces the correct outputs, it will be always be added to the project repository, regardless of the coding standards/code quality, and regardless of the speed of the code.

You can also modify and improve existing code within the project, submit a pull request and I will review your changes. For example, you can improve the speed of code, or improve the coding standards by adding comments, spaces, changing variable names, etc.

How to Submit a Pull Request

As this is a project aimed at beginners, I want to briefly explain the most simple way to submit a pull request for those who don't know.

Open my repository and click "Fork". This creates a forked copy of the repository.

Add your code to your forked copy.

Return to my repository and click submit pull request. Click "compare across forks". Select your forked copy of the repository as the head and my repository as the base.

Click submit a pull request and leave a meaningful comment explaining the code you are attempting to add to the project.

Alternatively, you can use the following git commands:

  1. To clone the repository in your local system use

git clone repo-link folder_name

  1. To stage the file you just changed use

git add file-name

  1. In case you have changed multiple files and want to stage them all at once use

git add .

  1. To commit those changes use

git commit -m "Fixed Issue #issue_number"

  1. To push these changes use

git push origin Branch-name

integer-sequences's People

Contributors

aseemchopra25 avatar awallenfang avatar bayurzx avatar beamandala avatar bogdan-ciurea avatar daxin-h avatar edmartt avatar evilced avatar geekboi777 avatar glazedtorus avatar goutham109 avatar gunslingster avatar itsf4llofstars avatar junhanliu-dev avatar kaushalkrishna2000 avatar philippossfrn avatar premapk avatar rathijitpapon avatar rs-py avatar samz5320 avatar sedatyf avatar senay21 avatar shreya19595 avatar stemitom avatar tspeng avatar twiggecode avatar vaipujary avatar vandinimodi1595 avatar varun270 avatar yaadr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

integer-sequences's Issues

Abundant number C++ solution is not correct

programme should return nth number in the abundant number but this only print abundant number that comes before n.
Input:
24
expected output:
104
code output:
24
12 18 20 24

Update Tracking List

Update the file TrackingProgress.md to match the updated repository.

For example, if you want to add a file into the project, include this on the tracking list, or if a particular file is not visible on the tracking list, add it on.

Do not list any of the sequences as closed, I will handle this. If an integer sequence is listed as open but there is already existing code for this sequence in the repository, change the sequence to 'In Progress' and add the language used to the tracking list.

Improve quality of existing code

Improve the quality of code that already exists within this project by either modifying the algorithms to become faster, or improve the coding standards by adding in more comments, spaces and by modifying variable names.

Proposed Language Additions and Section Additions to TrackingProgress.md - TrackingProgress.md File Update

Poposed Changes to TrackingProgress.md

Hi Twidge. I saw a video on using markdown in the PR and Issues section of a repo
and thought I would take a look at that. I have changes to the Tracking file in both
adding missing languages, and adding missing sections.

I would like to send all the additional language additions as one PR. After this, send
the added sections as three additions at a time. This would encompass 1 PR for the languages
and about 4-6 PR's for the adding of the sections.

Below are the additions of the individual languages to already established sections.
Below that, are the proposed section additions.

My current branch and TrackingProgress.md file have all the individual language additions
commited in, and a commented out list of sections that are missing in the html of the
Tracking file. I have not yet committed the missing sections. See bottom for a list of
these sections.

Please let me know what you think. I can split the PR's up however is best for you.
It does look like my markdown formatted properly, let me know if your seeing it on your
end, thanks so much.

Cheers;
itsf4llofstars

Added Individual Languages to Established Sections

<tr>
  <td align=center><p>  &#9203;</p></td>
  <td><a href="./Alternating Factorial">Alternating factorial</a></td>
-  <td>C++, Java, Python, C</td>
+  <td>C++, Java, Python, C, matlab</td>
</tr>
<tr>
  <td align=center><p>  &#9989;</p></td>
  <td>Blum integers</td>
-  <td>           </td>
+  <td>C++, Python</td>
</tr>

Not sure why this is not getting highlighted

<tr>
  <td align=center><p> &#9203;</p></td>
  <td><a href="./Catalan Numbers">Catalan number</a></td>
  - <td>Python, C++, Java, C</td>
  + <td>Python, C++, Java, C, matlab</td>
</tr>
<tr>
  <td align=center><p> &#9203;</p></td>
  <td><a href="./Divisor Function">Divisor function</a></td>
-  <td>Python, C++, Mark Down, C</td>
+  <td>Python, C++, Markdown, C, JS</td>
</tr>
<tr>
  <td align=center><p> &#9203;</p></td>
  <td><a href='./Farey Sequence Numerators'>Farey Sequence Numerators</a></td>
-  <td>Python</td>
+  <td>Python, C++</td>
</tr>
<tr>
  <td align=center><p>  &#9989;</p></td>
-  <td>Highly composite numbers</td>
+  <td>HighlyComposite</td>
-  <td></td>
+  <td>C++, Python</td>
</tr>
<tr>
  <td align=center><p>  &#9989;</p></td>
-  <td>Hyperperfect number</td>
+  <td>Hyperperfect Numbers</td>
-  <td>        </td>
+  <td>Python</td>
</tr>
<tr>
  <td align=center><p>  &#9203;</p></td>
-  <td><a href="./Lucky Number">Lucky numbers</td>
+  <td><a href="./Lucky Number">Lucky numbers</a></td>
  <td>Python, C++</td>
</tr>
<tr>
 <tr>
   <td align=center><p>  &#9989;</p></td>
   <td>Markov numbers</td>
-  <td></td>
+  <td>Python</td>
 </tr>
 <tr>
 <tr>
   <td align=center><p>  &#9203;</p></td>
   <td><a href="./Partition Numbers">Partition Numbers</a></td>
-  <td>Python</td>
+  <td>Python, Java</td>
 </tr>
 <tr>
 <tr>
   <td align=center><p>  &#9989;</p></td>
   <td>Radical of an integer</td>
-  <td>        </td>
+  <td>Python</td>
 </tr>
 <tr>
   <td align=center><p>  &#9989;</p></td>
   <td>Sphenic numbers</td>
-  <td>        </td>
+  <td>Python</td>
 </tr>
 <tr>
   <td align=center><p>  &#9203;</p></td>

Proposed Section additions With The addition Of Respective Languages

  1. All Exponent Integer Series
  2. Bernoulli number
  3. Erdos Nicolas
  4. Euler's Numbers
  5. Factorial Primes
  6. Factorial Series
  7. Landau Number : Note: There is a Landau function
  8. Mersenne Prime
  9. Natural Numbers Sequenc
  10. Permutable Primes
  11. Power of N : Note: There is a Power of 2
  12. README Translation
  13. Square Numbers
  14. Star Number
  15. Stella Octangular number
  16. Zigzag Number
  17. Fibonacci Series

🗺️ Help translate README to more languages

README Translation

Help make this project approachable to more GitHubers 👍🏽

If your native tongue is other but English, or you just happen to have another fluent language, then this is for you! 🌏

Key Notes:

  • Make sure you fully understand the original README at first and translate it as reliable as you can to the EN source version.
  • Don't translate the original README.md file, i.e don't replace it with other translations.
  • Create a new README file with the new language symbolic letters. example: README_EN.md.
  • If the Translation is not complete while committing PR - mention it and raise an issue for completion if help is needed.
  • Make sure all the hyperlinks are existing and working.
  • Once approved and merged, add a relevant link to the original ReadMe languages list.
    2

Create Algorithms for Integer Sequences

Please see the README.md file for more information

Create code to generate the nth element of various notable integer sequences in a programming language of your choice.

Good project for beginners.

💡 Suggestions for simple and intuitive Pull Request Template file

Pull Requests Template

This is a simple 'first issue' to deal with, but require creativity and careful thinking.

General line of thought:

  • There is a Tracking List for the project under the file name TrackingProgress.md
  • The idea is to encourage contributors to help to update the Tracking List or at least sum up their changes so it would be easier to follow, and for other contributors to complete the following update process.
  • The file Pull Request Template.md is an example to edit and work on. Of course, your's can be something entirely different.

for example:

  • I read the README file
  • I've checked the code is compiling and working
  • I've updated the changes in TrackingProgress.md

example for table

Sequence name Added new \ Update existing Language Added new \ fixed issues
Prime Numbers Update C new

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.