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 |
|
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ć ?
|
|
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 |
|
docentpp |
» 2013-11-25 21:11:25 @ virhill
Podaj zaktualizowany kod.
|
|
virhill Temat założony przez niniejszego użytkownika |
» 2013-11-25 21:17:35 #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; }
|
|
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 : cout <<(( pierwsza *( 1 + pierwsza ) * druga / 2 ) % 10 ) << endl;
Bez dziwacznych obliczeń,po wczytanie N,K, N=pierwsza, K=druga. |
|
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 |
|
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.
|
|
1 « 2 » 3 |