Program matematyczny - do obliczeń


(gumis112211) #1

Szukam programu, który wspomoże mnie w obliczeniach, zależy mi konkretnie na potęgach, aby wyliczył np 3^50 - potrzebuje go tak na szybko, bo w przyszłym tyg mam zamiar sobie w ramach świczeń napisać prosty programik do obliczania potęg.

Wiem, że tego jest multum, jednak nie chce czegoś ściągnąć i potem dopiero zobaczyć, że nie liczy tego, co bym chciał.


(Tomek Matz) #2

Kalkulator w Windows 7 świetnie się do tego nadaje.


(gumis112211) #3

nie mam win7

taki programik w delphi odpada bo nie ma typu zmiennych, ktore dalyby rade przechować taką liczbę jak 3^50, 3^40 jeszcze moj programik oblicza, dalej juz bledami sypie


(Gabrielmichalski) #4

Sprawdź, czy na systemowym kalkulatorze (narzędziówka -> widok) masz tryb naukowy (zakładam, że używasz Linuksa).

Szukaj przycisku:

x^y


(Tomek Matz) #5

To wypadałoby napisać jaki masz system operacyjny :). Jeśli chcesz napisać program, który będzie w stanie wykonać mnożenie dowolnie dużej liczby (a tym samym obliczać dowolną potęgę dowolnej liczby), to musisz liczby przechowywać jako ciągi znaków (tablica charów) oraz musisz zaimplementować "kartkowy" sposób mnożenia (wiesz, tak jak na kartce mnożysz w słupku).


(Spectatorx) #6

Jeśli używasz windowsa to wypróbuj Microsoft Mathematics. Do niedawna był to płatny program, jakiś czas temu Microsoft udostępnił go za darmo. Występuje w wersjach x32 i x64. Można do niego wprowadzać dane także odręcznie za pomocą myszki, touchpada, tabletu itp urządzeń wejściowych. Rozbudowany i naprawdę interesujący kalkulator. Dostępny na vortalu:

http://www.dobreprogramy.pl/Microsoft-M ... 23445.html


(Gorgoroth) #7

Z tak dużymi liczbami będziesz mieć problem :wink:

Zrobić np. takie coś to nie problem, jednak dużych liczb to nie obsłuży...


(Gabrielmichalski) #8

Jeśli naprawdę (tak jak pisze) zależy mu tylko na wyniku potęgowania (bez pokazania operacji), to do przeprowadzenia obliczeń z powodzeniem wystarczy dowolny arkusz kalkulacyjny. Zajmie to aż 3 komórki :?

No, może potrzebne będzie kliknięcie w autodopasowanie szerokości komórki z wynikiem.


(Spam) #9

http://www.wolframalpha.com/input/?i=3%5E50


(Gorgoroth) #10

Zrobić taki program dla ćwiczenia to też fajna sprawa :slight_smile: Ja tak długich liczb w C++ nie ogarniam.


(gumis112211) #11

no właśnie, jak się okazało ja też nie - w delphi nawet typ Comp nie czai takich liczb.. conajwyżej oblicza mi do potęgi 3^40

a tak jak pisałem, chodziło mi tylko o potęgowanie, bo kolokwium ma być z dzielenia modulo - przykładowe zadanie to "podaj ostatnią cyfrę liczby 3^50" no i ja tą ostatnią cyfrę obliczyłem sobie ale chciałem sobie sprawdzić wynik - jakby kto pytał wyszło mi, że ostatnią cyfrą będzie 9 ;]

dzięki za podanie pozycji Microsoft Mathematics

co do systemu - Win XP

Gorgoroth - to banał, początkowo myślałem, że coś trudniej będzie, ale jak zacząłem pisać wo wyszedł programik króciutki bo to tylko

for i:=2 to potega do

wyni:=wynik*liczba

i koniec folozofii, w jezyku pascala bo to w koncu delphi... konsolówka

-- Dodane 10.03.2011 (Cz) 20:09 --

a właśnie, że nie bo np excel nie radzi sobie też z takimi liczbami

-- Dodane 10.03.2011 (Cz) 20:14 --

ok, dziękuję też za http://www.wolframalpha.com/input/?i=3^50 - pootwierdził mój wynik i już nie muszę nic pobierać


(Tomek Matz) #12

@gumis112211

Już Ci napisałem jak zrobić taki program. Język programowania nie ma tu nic do rzeczy. W Delphi, C++, Javie, itp. .. w każdym z tych języków da się to zrobić. Przeczytaj mój powyższy post.


(gumis112211) #13

dobra, ale z tym jednak troche zabawy jest, bo jezeli dobrze zrozumiałem, chodzi o zapisywanie każdej cyfry jako znaku


(Tomek Matz) #14

Dokładnie o to chodzi. Inaczej się tego nie da zrobić. Czyli każda liczba to tablica znaków. I musisz zaimplementować dodawanie w słupku i mnożenie w slupku (tak jakbyś mnożył na kartce). Wówczas możesz wykonywać potęgowanie dla dowolnie dużych liczb, np. dla 3^50.


(gumis112211) #15

rozumiem o co chodzi, to w gruncie rzeczy jest z tym troche zabawy, ale samo rozwiązanie dobre, jak będę miał chwilę to spróbuję napisać coś niecoś


(waderr73) #16

Sprawdz sobie to. Taki mały kalkulatorek od MS :smiley: http://www.microsoft.com/downloads/en/d ... 3a&pf=true


(Gabrielmichalski) #17

"a właśnie, że nie bo np excel nie radzi sobie też z takimi liczbami"

Być może.

Użyłem Calc z ostatniego LibreOffice i wynik jest poprawny, choć wobec wyniku WolframAlpha (dla 3^50) jest zaokrąglony w górę, od 15 cyfry :wink: