Giter VIP home page Giter VIP logo

armstrong-number's Introduction

armstrong-number/ narcissistic-number

This program checks whether a number is Armstrong number or not

Purpose of this program

  • This program checks whether it is an Armstrong Number
  • This program tests the number against five tests containing five assertions

Explanation for functions used

Breakdown function

  • breakdown function contains 3 arguments, m (the number which needs to be broken down into digits), pow (power to be raised), digits (digits of the number). Initial values passed for each argument is n (input is given by the user), 1 (power), [] (a null vector) respectively.
  • Cond function is used to evaluate each condition one at a time. First condition: if m=0 then breakdown function will return digits, second condition: remainder is a variable which stores value of (mod m (exp 10 pow) i.e n%(10^1), digit is another variable which stores value of (/ remainder (exp 10 (- pow 1) i.e remainder/(10^(1-1)).
  • breakdown function is recursively called with m as (m-remainder), pow as (pow+1), digits as (digits obtained in previous iterations conjoined with the new value stored in digit)
  • After several iterations, (-m remainder) passes 0 as the value of m and the first condition is satisfied which eventually returns all digits of the number.

procedure to install

Run this with

$ lein run

Test this with

$ lein test

License

Copyright © 2019 FIXME

This program and the accompanying materials are made available under the http://www.eclipse.org/legal/epl-2.0.

This Source Code may also be made available under the following Secondary Licenses when the conditions for such availability set forth in the Eclipse Public License, v. 2.0 are satisfied: GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version, with the GNU Classpath Exception which is available at https://www.gnu.org/software/classpath/license.html.

armstrong-number's People

Contributors

mohini-tripathi avatar

Watchers

 avatar  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.