Giter Site home page Giter Site logo

binho58 / safadometro Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ythecombinator/safadometro

0.0 1.0 0.0 918 KB

:angel: Polyglot implementations of "safadeza" calculus.

xBase 4.29% C++ 6.85% Batchfile 1.57% Brainfuck 12.73% C 4.00% Clojure 1.80% COBOL 3.95% CoffeeScript 2.39% Common Lisp 2.78% C# 4.60% Cuda 11.55% Dart 1.66% Emacs Lisp 5.41% Elixir 6.15% Elm 14.33% Erlang 2.84% Shell 6.12% F# 2.22% Go 2.35% Groovy 2.39%

safadometro's Introduction

safadômetro

Polyglot implementations of "safadeza" calculus.

Aquele 1%

Table of Contents

The Problem

Sometimes, you want to know how safad(o/a) - a Brazilian Portuguese word for naughty - someone is. A very popular Brazilian musician desbribes himself as being 99% an angelical and perfect person; but the other 1% is naughty - as you can see in the lyrics.

A very clever professor from a state university in Brazil proposed a way o calculing how safado some is based on his/her date of birth.

The magical formula needs:

  • A sum function which takes an int a returns the sum of it with all its previous positive integers, e.g. sum(5) = 5 + 4 + 3 + 2 + 1.

  • A safadeza function which is given by:

    safadeza = sum(month) + (year / 100) * (50 - day)

  • An angel function which is given by:

    angel = 100 - safadeza

The last two functions MUST return a float

So this repo is for writing code that shows others how safado they are.

I look forward to seeing what you come up with c:

Motivation

Where everything started.

The programming question which quotes Wesley Safadão and turned to be a hit on the web.

It all started when a professor from the Quixadá campus of the Federal University of Ceará - Universidade Federal do Ceará (UFC) - Jefferson de Carvalho called everyone's attention by using a hit of the sertanejo and forró music to teach imperative programming logic to his students.

He was inspired by the song Aquele 1%, which is a success from the duo Marcos & Belutti featuring a very popular Brazilian musician, Wesley Safadão, to write his logical challenge.

If you'd like to find out more content about this funny story, there are lots of good resources on the web about it.

Contributing

Basic Requirements

  • You MUST be listening to the music while coding.
  • If you have to stop listening, close the editor - your time is over!
  • Please, don' use tabs. Tabs are from Satan. Use spaces. - actually, just follow the basic styleguide.

Adding a New Implementation

  1. Just think of your own interpretation of the problem.
  2. Check if anyone has suggested this before here.
  3. Fork this project!
  4. Create a new folder with the name of the language you've used in your solution, e.g. javascript/.
  5. If the language you want to implement already has an implemention, make version-* in the folder!
  6. Put the implementation and the example in separated files.
  7. Tick the language - with - [x] in GitHub Flavored Markdown - in which you've implemented here.
  8. Commit your changes: git commit -m 'Add JavaScript version'.
  9. Push to the branch: git push origin master.
  10. Submit a pull request :)

If you'd like to contribute with a language in which the algorithm has already been implemented - but you have a new/special/different/whatever way of making -, you can make it! Just create a new folder inside the folder of the language, e.g. javascript/browser, javascript/node, javascript/react etc.

Adding a New Language

  1. Check if anyone has suggested this before here.
  2. Fork this project!
  3. Add the language to the languages tracking file - don't forget to obey alphabetical order.
  4. Commit your changes: git commit -m 'Add JavaScript to listed languages'.
  5. Push to the branch: git push origin master.
  6. Submit a pull request :)

Status

You can check a list of languages in which the problem's been implemented - or should've been - here.

Importance

This project may seem useless, but, amazingly, it is not.

In about two days it achieved something interesting: a deterministic algorithm said to be simple which when implemented in 40+ languages, tells us a lot! E.g.

So the lesson is: that kind of initiative shows us that in modern times not only with FizzBuzz-alike implementations you can learn programming logic/languages/ paradigms.

License

safadômetro is distributed under the MIT License, available in this repository. All contributions are assumed to be also licensed under the MIT License.

Wesley Oliveira da Silva, also known as Wesley Safadão, is a Brazilian singer, songwriter, producer, and businessman. The safadômetro project does not have any rights over anything related to the him; images, logos, and everything related to the him have All Rights Reserved to Wesley Safadão & Banda Garota Safada.

safadometro's People

Contributors

haskellcamargo avatar ythecombinator avatar mememori avatar dturati avatar fdaciuk avatar luizperes avatar ajunior avatar lrlucena avatar vtrbtf avatar mauriciodarocha avatar jrdalpra avatar jl91 avatar ranisalt avatar natanjmai avatar mayc0njr avatar ryukinix avatar umamaistempo avatar davidasimoes avatar rodrigoalviani avatar abraaoalves avatar johnynogueira avatar adejair avatar pogist avatar keomaborges avatar caiopo avatar chocsx avatar mtrovilho avatar felipemfp avatar lautenschlager-id avatar glhrmfrts avatar

Watchers

James Cloos avatar

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.