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

Zadanie Klocki-problem z zadaniem

Ostatnio zmodyfikowano 2013-11-28 23:24
Autor Wiadomość
virhill
Temat założony przez niniejszego użytkownika
» 2013-11-25 20:43:14
ta,mi przechodziło na 70 ale zmieniłem na samym początku aby nigdy nie mnożyło przez 0 i przeszło na 80
P-97482
docentpp
» 2013-11-25 20:53:33
Co to znaczy że program przechodzi na 60% albo 80% ?
Czas obliczeń ? Pamięć ? Zwartość kodu ?
Możesz uściślić ?
P-97484
virhill
Temat założony przez niniejszego użytkownika
» 2013-11-25 20:55:04
oczywiście o to wyniki

Test Status Czas / Limit Wynik (80)
Klocki0 OK 0.00 / 0.50s /1.00s

0 / 0
Klocki0b OK 0.00 / 0.50s /1.00s
Klocki0c OK 0.00 / 0.50s /1.00s
Klocki1 Zła odpowiedź 0.00 / 0.50s /1.00s

0 / 10
Klocki2 OK 0.00 / 0.50s /1.00s

10 / 10
Klocki3 OK 0.00 / 0.50s /1.00s

10 / 10
Klocki4 OK 0.00 / 0.50s /1.00s

10 / 10
Klocki5 Zła odpowiedź 0.00 / 0.50s /1.00s

0 / 10
Klocki6 OK 0.00 / 0.50s /1.00s

10 / 10
Klocki7 OK 0.00 / 0.50s /1.00s

10 / 10
Klocki8 OK 0.00 / 0.50s /1.00s

10 / 10
Klocki9 OK 0.00 / 0.50s /1.00s

10 / 10
Klocki10 OK 0.00 / 0.50s /1.00s

10 / 10
P-97485
docentpp
» 2013-11-25 21:11:25
@ virhill

Podaj zaktualizowany kod.
P-97494
virhill
Temat założony przez niniejszego użytkownika
» 2013-11-25 21:17:35
C/C++
#include <iostream>
long long pierwsza, druga;
using namespace std;
int main()
{
    cin >> pierwsza;
    cin >> druga;
    long long a = 0;
    long long b = 0;
    long long c = 0;
    long long d = 0;
    if( pierwsza % 10 != 0 )
    {
        c = pierwsza % 10;
    }
    else
    {
        c = pierwsza;
    }
    if( druga % 10 != 0 )
    {
        d = druga % 10;
    }
    else
    {
        d = druga;
    }
    a =( c ) *( d );
    b =(((( c ) - 1 ) *( d ) ) *( c ) ) / 2;
    cout <<( a + b ) % 10;
}
P-97496
docentpp
» 2013-11-25 21:45:38
Wyniki są błędne , bo masz zły algorytm.

Dla danych
11,12 wynik 1 , ma być 6
12,21 wynik 3 , ma być 8
13,31 wynik 6 , ma być 1
11,11 wynik 1 , ma być 6.

Dlaczego nie zastosowałeś mojego algorytmu ?

On jest bezbłędny !!!!!

Czyli :
C/C++
cout <<(( pierwsza *( 1 + pierwsza ) * druga / 2 ) % 10 ) << endl;

Bez dziwacznych obliczeń,po wczytanie N,K,
N=pierwsza, K=druga.
P-97504
virhill
Temat założony przez niniejszego użytkownika
» 2013-11-25 22:05:28
na twoje rozwiązanie testy przechodze na 60/100, program gubi sie przy wiekszych liczbach, oczywiście long long zastosowałem

Test Status Czas / Limit Wynik (60)
Klocki0 OK 0.00 / 0.50s /1.00s

0 / 0
Klocki0b OK 0.00 / 0.50s /1.00s
Klocki0c OK 0.00 / 0.50s /1.00s
Klocki1 OK 0.00 / 0.50s /1.00s

10 / 10
Klocki2 OK 0.00 / 0.50s /1.00s

10 / 10
Klocki3 OK 0.00 / 0.50s /1.00s

10 / 10
Klocki4 OK 0.00 / 0.50s /1.00s

10 / 10
Klocki5 OK 0.00 / 0.50s /1.00s

10 / 10
Klocki6 OK 0.00 / 0.50s /1.00s

10 / 10
Klocki7 Zła odpowiedź 0.00 / 0.50s /1.00s

0 / 10
Klocki8 Zła odpowiedź 0.00 / 0.50s /1.00s

0 / 10
Klocki9 Zła odpowiedź 0.00 / 0.50s /1.00s

0 / 10
Klocki10 Zła odpowiedź 0.00 / 0.50s /1.00s

0 / 10
P-97509
docentpp
» 2013-11-25 22:18:10
Gubi się,bo widocznie iloczyn
0.5*n*(1+n)*k wychodzi poza zakres.

Nalezy z każdego z tych trzech czynników do obliczeń wziąć
ostatnia cyfrę, bo to determinuje ostatnią cyfrę w liczbie
będącej sumą ustawionych klocków.

P-97513
1 « 2 » 3
Poprzednia strona Strona 2 z 3 Następna strona