Java :: Aufgabe #36

14 Lösungen Lösungen öffentlich

Fakultät von n berechnen

Anfänger - Java von Dome - 03.01.2013 um 01:39 Uhr
Schreiben Sie ein Programm, oder eine Funktion, die die Fakultät einer beliebigen Zahl berechnet ohne eine vorhandene Funktion aus der Programmbibliothek zu verwenden.

Konsolenausgabe:

Fakultät von n: 10
3628800

Lösungen:

vote_ok
von 0 (0 Punkte) - 21.11.2013 um 21:23 Uhr
Quellcode ausblenden Java-Code
/*
 * Code written by Oppa Hansi, oppahansi on Pastebin.
 */

import java.util.Scanner;

public class Faculty {
	
	// Methode zur Berechnung der Fakultät von n. n beliebig.
	public static int faculty(int n) {
		// 1. Eine Hilfsvariable zur Speicherung des Ergebnisses
		// 2. if-Abfrage zur Ermittlung des Sonderfalls n = 0.
		// 3. else if-Abfrage ob n > 0 ist
		// 4. Wenn n < 0 ist, wird bei else n in eine positive Zahl
		//    Umgewandelt.
		int result = 1;
		if(n == 0){
			result = 1;
		}else if(n > 0){
			for(int i = 1; i <= n; i++){
				result = result*i;
			}
		}else{
			n = n*-1;
			for(int i = 1; i <= n; i++){
				result = result*i;
			}
		}
		return result;
	}
	
	public static void main(String[] args) {
		// Variable, um eine beliebige Zahl für n zu speichern.
		int n;
		
		// Scanner zum einlesen der Eingabe des Benutzers
		Scanner s = new Scanner(System.in);
		
		// Ausgabe, Einlesen der Zahl und Aufruf der faculty()-Methode.
		System.out.println("Berechnen der Fakultät von n.");
		System.out.println("Gebe eine beliebige ganze Zahl für n ein:");
		n = s.nextInt();
		System.out.println("Fakultät von " + n + ": " + faculty(n));
		
	}

}
vote_ok
von othutas (70 Punkte) - 28.04.2014 um 19:21 Uhr
Quellcode ausblenden Java-Code
import java.io.*;
public class fakultaet {

	public static long factorial(int a){
		long result = 1;
		for(int i = 1; i<=a;i++){
			result = result*i;
		}
		return result;
	}
	
	public static void main(String args[])throws IOException{
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
		
		boolean correct; 
		int number = 0;
		do{
		correct = true;	
		System.out.println("Enter a number");
		try{
		number = Integer.parseInt(in.readLine());
		}catch(Exception e){
			System.out.println("No floating-point numbers");
			correct = false;
		}
		}while(correct==false);
		
		System.out.println("Factorial of "+number+" is: "+factorial(number));
		
		
		
		}
	}





vote_ok
von PTPHard (540 Punkte) - 29.05.2014 um 00:13 Uhr
Quellcode ausblenden Java-Code
public class faculty
{
    int _fac;
    
    public faculty(int fac)
    {
        _fac = fac;
    }
    
    public int nonRek()
    { 
        int fak = 1;
        if(_fac == 0 || _fac == 1)
        {
            return 1;
        }
        else
        {
            for(int i=1; i<=_fac; i++)
            {
                fak *= i;
            }
            return fak;
        }
    }


Und JUnit-Test:

Quellcode ausblenden Java-Code
import static org.junit.Assert.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

public class facTest
{
    faculty fak0 = new faculty(1);
    faculty fak1 = new faculty(1);
    faculty fak2 = new faculty(2);
    faculty fak3 = new faculty(3);
    faculty fak4 = new faculty(4);
    faculty fak5 = new faculty(5);
    faculty fak6 = new faculty(6);
    faculty fak7 = new faculty(7);
    faculty fak8 = new faculty(8);
    faculty fak9 = new faculty(9);
    faculty fak10 = new faculty(10);
    
    @Test
    public void nonRekPositiv()
    {
        assertEquals("Wrong!", 1, fak0.nonRek());
        assertEquals("Wrong!", 1, fak1.nonRek());
        assertEquals("Wrong!", 2, fak2.nonRek());
        assertEquals("Wrong!", 6, fak3.nonRek());
        assertEquals("Wrong!", 24, fak4.nonRek());
        assertEquals("Wrong!", 120, fak5.nonRek());
        assertEquals("Wrong!", 720, fak6.nonRek());
        assertEquals("Wrong!", 5040, fak7.nonRek());
        assertEquals("Wrong!", 40320, fak8.nonRek());
        assertEquals("Wrong!", 362880, fak9.nonRek());
        assertEquals("Wrong!", 3628800, fak10.nonRek());
    }
vote_ok
von Zer0 (180 Punkte) - 23.11.2014 um 02:56 Uhr
Quellcode ausblenden Java-Code
import java.util.Scanner;

/**
 * Created by Zer0 on 23.11.2014.
 */
public class FakultätRechner
{
    public static void main(String[] args)
    {
        Scanner Input = new Scanner(System.in);
        System.out.println("Geben Sie eine beliebige ganze Zahl ein, ich berechne für Sie die Fakultät" +
                           " dieser Zahl.");
        long result = Input.nextLong();
        if (result==0)
        {
            System.out.println("Die Fakultät von 0 ist 1.");
        }
        else
        {
            System.out.print("Die Fakultät von "+result+" ist ");
            for(long i=result-1 ; i>=1 ; i--)
            {
                result = result*i;

            }
            System.out.println(result+".");
        }
    }
}
vote_ok
von Dome (2100 Punkte) - 27.11.2014 um 15:08 Uhr
Quellcode ausblenden Java-Code
import java.util.Scanner;

public class Fakultät{
	public static void main(String[] args) {
		long fak = 0;
		long i = 0;
		long result = 1;
		Scanner Input = new Scanner(System.in);
		System.out.print("Fakultät von n: ");
		fak = Input.nextLong();
		
		if(fak != 0){
			for(i = 1; i <= fak; i++){
				result *= i;
			}
		}else{
			System.out.println("Ungültige Eingabe");
		}
		System.out.println(result);
	}
}
vote_ok
von ElPapito (2690 Punkte) - 08.05.2015 um 19:20 Uhr
Quellcode ausblenden Java-Code

/**
 * @author ElPapito
 * @date 08.05.2015
 */

import java.util.Scanner;

public class FakultaetVonNBerechnen {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("Fakultaet von n: ");
		int n = scanner.nextInt();
		scanner.close();

		int fakultaet = 1;
		for (int i = 2; i <= n; i++) {
			fakultaet = fakultaet * i;
		}

		System.out.println(fakultaet);
	}

}

vote_ok
von klhlubek19 (550 Punkte) - 16.07.2015 um 12:37 Uhr
Quellcode ausblenden Java-Code
import java.util.Scanner;

public class Fakultät {
	public long fakultät(long fakultät){
		int m = 1;
		for(int n = 1; n <= fakultät; n++){
			m *= n; 
		}
	return m;
	}
	
	public static void main(String... arg){
		Fakultät f = new Fakultät();
		Scanner scan = new Scanner(System.in);
		System.out.println("Geben Sie die Zahl ein, deren Fakultät berrechntet werden soll: ");
		int zahl = scan.nextInt();
		scan.close();
		System.out.printf("Fakultät von %s: %s", zahl, f.fakultät(zahl));
	}
}
1 Kommentar
vote_ok
von thet1983 (800 Punkte) - 30.10.2015 um 13:16 Uhr
Quellcode ausblenden Java-Code
import java.util.Scanner;

public class Fakultaet {

	public static void main(String[] args) {

		int n, i = 1;
		long fak = 1;

		Scanner s = new Scanner(System.in);
		System.out.println("Zahl eingeben: ");
		n = s.nextInt();

		for (; i <= n; i++) {
			fak = (n * (n + 1)) / 2;
		}

		System.out.printf("Die Fakultät der Zahl %d ist: %d", n, fak);
	}
}
vote_ok
von Hirschcarp (20 Punkte) - 12.12.2015 um 23:27 Uhr
Quellcode ausblenden Java-Code
import java.util.Scanner;

public class faculty {
    public static void main(String[] args) {
    	int n;
    	long z = 1;

    	Scanner sc = new Scanner(System.in);
    	n = sc.nextInt();

    	System.out.println("Fakultät von n = " + n);

    	do {
    		z = z * n;
    		n = n-1;
    	}	while (n>0);

    	System.out.println(z);
    }
}
vote_ok
von Bufkin (1410 Punkte) - 25.08.2017 um 15:17 Uhr
Quellcode ausblenden Java-Code
class fakultaet
{
    public static void main (String[] args) throws java.lang.Exception
    {
        int n = 10;
        int ergebnis = 1;
        
        for(int i = n; i > 0; i--)
        {
            ergebnis = ergebnis * i;    
        }
        System.out.println("Fakultät von n: " + n + "\n" + ergebnis);
    }
}
vote_ok
von Exception (7090 Punkte) - 17.02.2019 um 16:12 Uhr
Quellcode ausblenden Java-Code
package de.exception.fakultaet_36;

public class Fakultaet {
	
	public static int Calc(int n) {
		
		if(n == 1) {
			return 1;
		}
		
		return n * Fakultaet.Calc(n - 1);
	}
}

Quellcode ausblenden Java-Code
package de.exception.fakultaet_36;

import static org.junit.jupiter.api.Assertions.*;

import org.junit.jupiter.api.Test;

class TestFakultaet {

	@Test
	void test() {
		assertEquals(1, Fakultaet.Calc(1));
		assertEquals(2, Fakultaet.Calc(2));
		assertEquals(6, Fakultaet.Calc(3));
		assertEquals(24, Fakultaet.Calc(4));
		assertEquals(120, Fakultaet.Calc(5));
		assertEquals(3628800, Fakultaet.Calc(10));
	}
}
vote_ok
von nOrdan (1160 Punkte) - 04.06.2019 um 23:57 Uhr
Anmerkung: Ich arbeite mit dem Programm BlueJ

Quellcode ausblenden Java-Code


import Methodensammlung.Methoden;

/**
 * Die Fakultät von Ganzzahlen bis inklusive 34 kann berechnet werden
 * 
 * @author (nOrdan) 
 * @version (04.06.2019)
 */
public class Fakultät
{

    Methoden m = new Methoden();

    public static void main(String [] args)
    {
        Fakultät f = new Fakultät();
        f.inputs();
    }

    private void inputs()
    {
        boolean valid1 = false;
        int n = 0;
        while (valid1 == false)
        {
            String input1 = m.userInput("Geben sie die Zahl ein, für welche die Fakultät berechnet werden soll");
            m.errorUserInput(input1);
            try
            {
                n = m.parseInt(input1);
                valid1 = true;
            }
            catch(Exception e)
            {
                m.errorMessage("Invalid user input","Input error");
            }
        }
        berechnung(n);
    }

    private void berechnung(int n)
    {
        float ergebnis = 1f;
        if (n == 0)
        {
            
        }
        else if (n > 0)
        {
            for (int i = 1; i < n; i++)
            {
                ergebnis += ergebnis * i;
            }
        }
        else if (n >= 35)
        {
            m.errorMessage("Die Fakultät von 35 ist zu groß für das Programm","Size busy");
        }
        else
        {
            n = n * -1;
            for (int i = 1; i <= n; i++)
            {
                ergebnis = ergebnis * i;
            }
        }
        m.informationMessage("Die Fakultät von " + n + " ist " + ergebnis,"Ergebnis");
    }
}

vote_ok
von paddlboot (3970 Punkte) - 09.07.2019 um 09:17 Uhr
Quellcode ausblenden Java-Code
import java.util.*;

public class fakultät {
	public static void main (String[] args) {
		Scanner scanner = new Scanner(System.in);
		
		System.out.print("Fakultät von n:\t");
		int zahl = scanner.nextInt();	
		fakultaet(zahl);
		
		scanner.close();
	}
	
	public static void fakultaet(int zahl) {
		int res = 1;
		
		for(int durchgang = 2; durchgang <=zahl; durchgang++) {
			res *= durchgang;
		}
		
		System.out.print(res);
	}
}
vote_ok
von kollar (340 Punkte) - 14.01.2020 um 09:54 Uhr
Quellcode ausblenden Java-Code
public class Fakultaet {
	public static void main(String[] args) {
		System.out.println(berechneFakultaet(5));
	}
	public static int berechneFakultaet(int n) {
		if (n <= 1) {
			return 1;
		}
		return berechneFakultaet(n - 1) * n;
	}
}
2092466

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.