silnia - zadanie ze spoj'u
Ostatnio zmodyfikowano 2017-01-20 07:14
fraszczakp 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 |
|
mateczek |
» 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 ;) |
|
fraszczakp Temat założony przez niniejszego użytkownika |
» 2017-01-18 19:48:06 w jakim celu ?
|
|
michal11 |
» 2017-01-18 19:50:25 Jak to zrobisz to będziesz wiedział w jakim celu. |
|
fraszczakp Temat założony przez niniejszego użytkownika |
» 2017-01-18 20:09:30 sprawdzałeś treść zadania ?
|
|
mateczek |
» 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] |
|
fraszczakp Temat założony przez niniejszego użytkownika |
» 2017-01-18 20:42:13 Tak jest szefie (y) |
|
michal11 |
» 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. |
|
« 1 » 2 3 |