silnia - zadanie ze spoj'u
Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Zarejestruj się!

silnia - zadanie ze spoj'u

AutorWiadomość
Temat założony przez niniejszego użytkownika
silnia - zadanie ze spoj'u
» 2017-01-18 19:11:36
siemka, potrzebuje świeżego spojrzenia na problem, mianowicie przekraczam limit czasu w pewnym zadaniu ze spoj'a : http://pl.spoj.com/problems/FCTRL3/

a tu łapcie mój kod, przerabiałem go milion razy więc może być chaos :D

#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;

int silniaa(int n)
{
int a = 1;
while(n)
a *= n--;
return a;
}

int main () {
   
int n;
int c,e;           //deklaracja zmiennych

    for (int d = 1; d<=20;d++){   //zapetlenie programu
       
cin >> n;      // podana liczba

       
    if (silniaa(n)<=10)          //wywolanie funkcji jako argument petli
    {
c=silniaa(n)%10;
e=0;                            // warunki funkcji
    }else c=(silniaa(n)/10)%10 , e=silniaa(n)%10;
       
cout << c <<" "<< e << endl;            // wypisanie wartosci jak w zadaniu
}
getchar();              // program czeka tu na znak po czym zakonczy program
return 0;
}

prościej jest zrobić rekurencyjnie ale nie jest to ekonomiczne i wydaje mi się że tak jest szybciej ale nadal za wolno :P

pozdrawiam
P-156592
» 2017-01-18 19:24:40
policz silnia 10 na piechotę. zobacz jakie są dwie ostatnie cyfry.
policz 11 silnia i zobacz jakie są dwie ostanie cyfry ;)
P-156594
Temat założony przez niniejszego użytkownika
» 2017-01-18 19:48:06
w jakim celu ?
P-156598
» 2017-01-18 19:50:25
Jak to zrobisz to będziesz wiedział w jakim celu.
P-156599
Temat założony przez niniejszego użytkownika
» 2017-01-18 20:09:30
sprawdzałeś treść zadania ?
P-156602
» 2017-01-18 20:19:45
sprawdzałeś treść zadania ?
każdy kto tu siedzi już dłużej miał już do czynienia z tym zadaniem. Więc z wszystkich tutaj obecnych to tylko Ty niezbyt dokładnie się mu przyjrzałeś :P


A tak na przyszłość to kod wstawiaj w znaczniki
[cpp]tutaj wstawiaj kod[/cpp]
P-156604
Temat założony przez niniejszego użytkownika
» 2017-01-18 20:42:13
Tak jest szefie (y)
P-156609
» 2017-01-18 20:48:04
Sprawdzałem, sam robiłem kilka razy, i w dodatku nie jesteś pierwszą osobą która ma z nim problem. Za każdym razem po podpowiedzi z policzeniem pierwszych 11-12 el. silni ręcznie każdy pytający sam jest je w stanie rozwiązać. To jest po prostu najlepsza podpowiedz dla tego zadania.
P-156610
« 1 » 2 3
 Strona 1 z 3Następna strona