Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

silnia - zadanie ze spoj'u

Ostatnio zmodyfikowano 2017-01-20 07:14
Autor Wiadomość
fraszczakp
Temat założony przez niniejszego użytkownika
» 2017-01-18 21:02:29
Masz racje. Chociaż podpowiedź pomogła to dostaje teraz odpowiedź że rozwiązanie jest nieprawidłowe..


#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(n<9) {
        c=(silniaa(n)/10)%10 , e=silniaa(n)%10;
        } else c=0 , e=0;
       
    cout << c <<" "<< e << endl;            // wypisanie wartosci jak w zadaniu
    }

   
return 0;
}


na kompilatorze działa poprawnie, zarknijcie proszę [/code]
P-156615
michal11
» 2017-01-18 21:06:30
Po co wyliczasz całą silnię (i to dwa razy dla tej samej liczby) skoro dla pierwszych dziewięciu liczba dwie ostanie cyfry są znane i nie wymagają liczenia?
P-156617
fraszczakp
Temat założony przez niniejszego użytkownika
» 2017-01-18 21:27:48
wiesz co, już dzisiaj sobie daruje ;d wysiada mi mózg nawet nie wiem o czym Ty do mnie mówisz a zdanie budowałem pare minut :D muszę sobie zrobić przerwę
P-156627
mateczek
» 2017-01-19 06:12:02
i warunek powinien być
C/C++
if( n < 10 )
//lub
     if( n <= 9 )

kolejna uwaga to dlaczego pętlę wykonujesz 20 razy ??
C/C++
//dlaczego dwadzieścia?? przecież nie masz z góry podanej liczby testów
for( int d = 1; d <= 20; d++ ) { };

//powinno być
int liczbaTestow;
cin >> liczbaTestow;
for( int d = 1; d <= liczbaTestow; d++ ) {
   
}
P-156645
fraszczakp
Temat założony przez niniejszego użytkownika
» 2017-01-19 09:57:32
Zrobione, dziękuje za pomoc.
P-156648
mateczek
» 2017-01-19 10:18:02
w ramach treningu jedno z możliwych rozwiązań:
C/C++
#include<iostream>
using namespace std;
int main()
{
    string tab[ 10 ] = { "0 1", "0 1", "0 2", "0 6", "2 4", "2 0", "2 0", "4 0", "2 0", "8 0" };
    int liczbaTestow;
    cin >> liczbaTestow;
    int n;
    while( liczbaTestow-- ) {
        cin >> n;
        if( n < 10 ) {
            cout << tab[ n ] << endl;
        } else
             cout << "0 0" << endl;
       
    }
}
P-156649
fraszczakp
Temat założony przez niniejszego użytkownika
» 2017-01-19 21:36:33
ciekawe rozwiazanie, nie pomyślałem żeby ugryźć to w ten sposób, dzięki :) Pracujesz jako programista @Mateczek ?
P-156685
mateczek
» 2017-01-19 22:00:49
Dorywczo programuje ale sterowniki PLC (automatyk w dziale utrzymania ruchu) A w C++ robię małe wizualizacje do sterowników (taka mała nisza).
Jak tu posiedzisz z nami na forum to zobaczysz, że takie tematy się dość regularnie przewijają.  A ja to bardziej z tych raczej amatorów. Coś tam potrafię, ale do fachowca programisty mi jeszcze daleko :)
P-156690
1 « 2 » 3
Poprzednia strona Strona 2 z 3 Następna strona