1 / 17
Jul 2018

Nie wiem o jakie uściślenia chodzi ale mogę powiedzieć że mój program po prostu liczy po kolei i wyświetla jak leci bez żadnych sortowań

Niestety nie pamiętam dokładnie czego dotyczyły uściślenia, ale prawdopodobnie zaokrąglania-odcinania.

Jest jeszcze jedna rzecz. Mimo, że w opisie jest 0 < n < … to poprawnie powinno być 0 <= n < …
Ja wypisuje wyniki:
printf ("%.10lf … i bez względu, czy funkcja printf sama zaokrągla czy obcina, mam AC.

OK. Z @yula (ogromne dzięki) to zadanie.

Input:

9
1
5
8
37
10
100
200
15
13

Output:

1.0000000000 0.0000000000
1.0000000000 0.0000000000
0.3090169944 0.9510565163
-0.8090169944 0.5877852523
-0.8090169944 -0.5877852523
0.3090169944 -0.9510565163
1.0000000000 0.0000000000
0.7071067812 0.7071067812
0.0000000000 1.0000000000
-0.7071067812 0.7071067812
-1.0000000000 0.0000000000
-0.7071067812 -0.7071067812
-0.0000000000 -1.0000000000
0.7071067812 -0.7071067812
1.0000000000 0.0000000000
0.9856159103 0.1690008203
0.9428774455 0.3331397947
0.8730141132 0.4876949438
0.7780357543 0.6282199973
0.6606747234 0.7506723053
0.5243072836 0.8515291377
0.3728564778 0.9278890273
0.2106792700 0.9775552389
0.0424412032 0.9990989662
-0.1270178197 0.9919004353
-0.2928227713 0.9561667347
-0.4502037448 0.8929258581
-0.5946331763 0.8039971304
-0.7219560940 0.6919388690
-0.8285096492 0.5599747861
-0.9112284904 0.4119012482
-0.9677329469 0.2519780614
-0.9963974885 0.0848059245
-0.9963974885 -0.0848059245
-0.9677329469 -0.2519780614
-0.9112284904 -0.4119012482
-0.8285096492 -0.5599747861
-0.7219560940 -0.6919388690
-0.5946331763 -0.8039971304
-0.4502037448 -0.8929258581
-0.2928227713 -0.9561667347
-0.1270178197 -0.9919004353
0.0424412032 -0.9990989662
0.2106792700 -0.9775552389
0.3728564778 -0.9278890273
0.5243072836 -0.8515291377
0.6606747234 -0.7506723053
0.7780357543 -0.6282199973
0.8730141132 -0.4876949438
0.9428774455 -0.3331397947
0.9856159103 -0.1690008203
1.0000000000 0.0000000000
0.8090169944 0.5877852523
0.3090169944 0.9510565163
-0.3090169944 0.9510565163
-0.8090169944 0.5877852523
-1.0000000000 0.0000000000
-0.8090169944 -0.5877852523
-0.3090169944 -0.9510565163
0.3090169944 -0.9510565163
0.8090169944 -0.5877852523
1.0000000000 0.0000000000
0.9980267284 0.0627905195
0.9921147013 0.1253332336
0.9822872507 0.1873813146
0.9685831611 0.2486898872
0.9510565163 0.3090169944
0.9297764859 0.3681245527
0.9048270525 0.4257792916
0.8763066800 0.4817536741
0.8443279255 0.5358267950
0.8090169944 0.5877852523
0.7705132428 0.6374239897
0.7289686274 0.6845471059
0.6845471059 0.7289686274
0.6374239897 0.7705132428
0.5877852523 0.8090169944
0.5358267950 0.8443279255
0.4817536741 0.8763066800
0.4257792916 0.9048270525
0.3681245527 0.9297764859
0.3090169944 0.9510565163
0.2486898872 0.9685831611
0.1873813146 0.9822872507
0.1253332336 0.9921147013
0.0627905195 0.9980267284
0.0000000000 1.0000000000
-0.0627905195 0.9980267284
-0.1253332336 0.9921147013
-0.1873813146 0.9822872507
-0.2486898872 0.9685831611
-0.3090169944 0.9510565163
-0.3681245527 0.9297764859
-0.4257792916 0.9048270525
-0.4817536741 0.8763066800
-0.5358267950 0.8443279255
-0.5877852523 0.8090169944
-0.6374239897 0.7705132428
-0.6845471059 0.7289686274
-0.7289686274 0.6845471059
-0.7705132428 0.6374239897
-0.8090169944 0.5877852523
-0.8443279255 0.5358267950
-0.8763066800 0.4817536741
-0.9048270525 0.4257792916
-0.9297764859 0.3681245527
-0.9510565163 0.3090169944
-0.9685831611 0.2486898872
-0.9822872507 0.1873813146
-0.9921147013 0.1253332336
-0.9980267284 0.0627905195
-1.0000000000 0.0000000000
-0.9980267284 -0.0627905195
-0.9921147013 -0.1253332336
-0.9822872507 -0.1873813146
-0.9685831611 -0.2486898872
-0.9510565163 -0.3090169944
-0.9297764859 -0.3681245527
-0.9048270525 -0.4257792916
-0.8763066800 -0.4817536741
-0.8443279255 -0.5358267950
-0.8090169944 -0.5877852523
-0.7705132428 -0.6374239897
-0.7289686274 -0.6845471059
-0.6845471059 -0.7289686274
-0.6374239897 -0.7705132428
-0.5877852523 -0.8090169944
-0.5358267950 -0.8443279255
-0.4817536741 -0.8763066800
-0.4257792916 -0.9048270525
-0.3681245527 -0.9297764859
-0.3090169944 -0.9510565163
-0.2486898872 -0.9685831611
-0.1873813146 -0.9822872507
-0.1253332336 -0.9921147013
-0.0627905195 -0.9980267284
-0.0000000000 -1.0000000000
0.0627905195 -0.9980267284
0.1253332336 -0.9921147013
0.1873813146 -0.9822872507
0.2486898872 -0.9685831611
0.3090169944 -0.9510565163
0.3681245527 -0.9297764859
0.4257792916 -0.9048270525
0.4817536741 -0.8763066800
0.5358267950 -0.8443279255
0.5877852523 -0.8090169944
0.6374239897 -0.7705132428
0.6845471059 -0.7289686274
0.7289686274 -0.6845471059
0.7705132428 -0.6374239897
0.8090169944 -0.5877852523
0.8443279255 -0.5358267950
0.8763066800 -0.4817536741
0.9048270525 -0.4257792916
0.9297764859 -0.3681245527
0.9510565163 -0.3090169944
0.9685831611 -0.2486898872
0.9822872507 -0.1873813146
0.9921147013 -0.1253332336
0.9980267284 -0.0627905195
1.0000000000 0.0000000000
0.9995065604 0.0314107591
0.9980267284 0.0627905195
0.9955619646 0.0941083133
0.9921147013 0.1253332336
0.9876883406 0.1564344650
0.9822872507 0.1873813146
0.9759167619 0.2181432414
0.9685831611 0.2486898872
0.9602936857 0.2789911060
0.9510565163 0.3090169944
0.9408807690 0.3387379202
0.9297764859 0.3681245527
0.9177546257 0.3971478906
0.9048270525 0.4257792916
0.8910065242 0.4539904997
0.8763066800 0.4817536741
0.8607420270 0.5090414158
0.8443279255 0.5358267950
0.8270805743 0.5620833779
0.8090169944 0.5877852523
0.7901550124 0.6129070537
0.7705132428 0.6374239897
0.7501110696 0.6613118653
0.7289686274 0.6845471059
0.7071067812 0.7071067812
0.6845471059 0.7289686274
0.6613118653 0.7501110696
0.6374239897 0.7705132428
0.6129070537 0.7901550124
0.5877852523 0.8090169944
0.5620833779 0.8270805743
0.5358267950 0.8443279255
0.5090414158 0.8607420270
0.4817536741 0.8763066800
0.4539904997 0.8910065242
0.4257792916 0.9048270525
0.3971478906 0.9177546257
0.3681245527 0.9297764859
0.3387379202 0.9408807690
0.3090169944 0.9510565163
0.2789911060 0.9602936857
0.2486898872 0.9685831611
0.2181432414 0.9759167619
0.1873813146 0.9822872507
0.1564344650 0.9876883406
0.1253332336 0.9921147013
0.0941083133 0.9955619646
0.0627905195 0.9980267284
0.0314107591 0.9995065604
0.0000000000 1.0000000000
-0.0314107591 0.9995065604
-0.0627905195 0.9980267284
-0.0941083133 0.9955619646
-0.1253332336 0.9921147013
-0.1564344650 0.9876883406
-0.1873813146 0.9822872507
-0.2181432414 0.9759167619
-0.2486898872 0.9685831611
-0.2789911060 0.9602936857
-0.3090169944 0.9510565163
-0.3387379202 0.9408807690
-0.3681245527 0.9297764859
-0.3971478906 0.9177546257
-0.4257792916 0.9048270525
-0.4539904997 0.8910065242
-0.4817536741 0.8763066800
-0.5090414158 0.8607420270
-0.5358267950 0.8443279255
-0.5620833779 0.8270805743
-0.5877852523 0.8090169944
-0.6129070537 0.7901550124
-0.6374239897 0.7705132428
-0.6613118653 0.7501110696
-0.6845471059 0.7289686274
-0.7071067812 0.7071067812
-0.7289686274 0.6845471059
-0.7501110696 0.6613118653
-0.7705132428 0.6374239897
-0.7901550124 0.6129070537
-0.8090169944 0.5877852523
-0.8270805743 0.5620833779
-0.8443279255 0.5358267950
-0.8607420270 0.5090414158
-0.8763066800 0.4817536741
-0.8910065242 0.4539904997
-0.9048270525 0.4257792916
-0.9177546257 0.3971478906
-0.9297764859 0.3681245527
-0.9408807690 0.3387379202
-0.9510565163 0.3090169944
-0.9602936857 0.2789911060
-0.9685831611 0.2486898872
-0.9759167619 0.2181432414
-0.9822872507 0.1873813146
-0.9876883406 0.1564344650
-0.9921147013 0.1253332336
-0.9955619646 0.0941083133
-0.9980267284 0.0627905195
-0.9995065604 0.0314107591
-1.0000000000 0.0000000000
-0.9995065604 -0.0314107591
-0.9980267284 -0.0627905195
-0.9955619646 -0.0941083133
-0.9921147013 -0.1253332336
-0.9876883406 -0.1564344650
-0.9822872507 -0.1873813146
-0.9759167619 -0.2181432414
-0.9685831611 -0.2486898872
-0.9602936857 -0.2789911060
-0.9510565163 -0.3090169944
-0.9408807690 -0.3387379202
-0.9297764859 -0.3681245527
-0.9177546257 -0.3971478906
-0.9048270525 -0.4257792916
-0.8910065242 -0.4539904997
-0.8763066800 -0.4817536741
-0.8607420270 -0.5090414158
-0.8443279255 -0.5358267950
-0.8270805743 -0.5620833779
-0.8090169944 -0.5877852523
-0.7901550124 -0.6129070537
-0.7705132428 -0.6374239897
-0.7501110696 -0.6613118653
-0.7289686274 -0.6845471059
-0.7071067812 -0.7071067812
-0.6845471059 -0.7289686274
-0.6613118653 -0.7501110696
-0.6374239897 -0.7705132428
-0.6129070537 -0.7901550124
-0.5877852523 -0.8090169944
-0.5620833779 -0.8270805743
-0.5358267950 -0.8443279255
-0.5090414158 -0.8607420270
-0.4817536741 -0.8763066800
-0.4539904997 -0.8910065242
-0.4257792916 -0.9048270525
-0.3971478906 -0.9177546257
-0.3681245527 -0.9297764859
-0.3387379202 -0.9408807690
-0.3090169944 -0.9510565163
-0.2789911060 -0.9602936857
-0.2486898872 -0.9685831611
-0.2181432414 -0.9759167619
-0.1873813146 -0.9822872507
-0.1564344650 -0.9876883406
-0.1253332336 -0.9921147013
-0.0941083133 -0.9955619646
-0.0627905195 -0.9980267284
-0.0314107591 -0.9995065604
-0.0000000000 -1.0000000000
0.0314107591 -0.9995065604
0.0627905195 -0.9980267284
0.0941083133 -0.9955619646
0.1253332336 -0.9921147013
0.1564344650 -0.9876883406
0.1873813146 -0.9822872507
0.2181432414 -0.9759167619
0.2486898872 -0.9685831611
0.2789911060 -0.9602936857
0.3090169944 -0.9510565163
0.3387379202 -0.9408807690
0.3681245527 -0.9297764859
0.3971478906 -0.9177546257
0.4257792916 -0.9048270525
0.4539904997 -0.8910065242
0.4817536741 -0.8763066800
0.5090414158 -0.8607420270
0.5358267950 -0.8443279255
0.5620833779 -0.8270805743
0.5877852523 -0.8090169944
0.6129070537 -0.7901550124
0.6374239897 -0.7705132428
0.6613118653 -0.7501110696
0.6845471059 -0.7289686274
0.7071067812 -0.7071067812
0.7289686274 -0.6845471059
0.7501110696 -0.6613118653
0.7705132428 -0.6374239897
0.7901550124 -0.6129070537
0.8090169944 -0.5877852523
0.8270805743 -0.5620833779
0.8443279255 -0.5358267950
0.8607420270 -0.5090414158
0.8763066800 -0.4817536741
0.8910065242 -0.4539904997
0.9048270525 -0.4257792916
0.9177546257 -0.3971478906
0.9297764859 -0.3681245527
0.9408807690 -0.3387379202
0.9510565163 -0.3090169944
0.9602936857 -0.2789911060
0.9685831611 -0.2486898872
0.9759167619 -0.2181432414
0.9822872507 -0.1873813146
0.9876883406 -0.1564344650
0.9921147013 -0.1253332336
0.9955619646 -0.0941083133
0.9980267284 -0.0627905195
0.9995065604 -0.0314107591
1.0000000000 0.0000000000
0.9135454576 0.4067366431
0.6691306064 0.7431448255
0.3090169944 0.9510565163
-0.1045284633 0.9945218954
-0.5000000000 0.8660254038
-0.8090169944 0.5877852523
-0.9781476007 0.2079116908
-0.9781476007 -0.2079116908
-0.8090169944 -0.5877852523
-0.5000000000 -0.8660254038
-0.1045284633 -0.9945218954
0.3090169944 -0.9510565163
0.6691306064 -0.7431448255
0.9135454576 -0.4067366431
1.0000000000 0.0000000000
0.8854560257 0.4647231720
0.5680647467 0.8229838659
0.1205366803 0.9927088741
-0.3546048870 0.9350162427
-0.7485107482 0.6631226582
-0.9709418174 0.2393156643
-0.9709418174 -0.2393156643
-0.7485107482 -0.6631226582
-0.3546048870 -0.9350162427
0.1205366803 -0.9927088741
0.5680647467 -0.8229838659
0.8854560257 -0.4647231720

Nic takiego ani nie napisałem ani nie zauważyłem. To Ty masz/miałeś problem z tym zadaniem a nie ja i to Ty jeżeli się podjąłeś pisać jakieś uściślenia, to powinieneś najpierw sprawdzić i zrozumieć to co napisałem. Dodatkowo twoje uściślenia są nieprawdziwe i niepełne - też jeszcze raz, uważniej przeczytaj moją wypowiedź oraz - jeżeli chcesz uściślać sprawdź to co podajesz. Co do sortowania uwzględnij komentarz Witolda pod zadaniem. Oczywiście nie trzeba sortować, wystarczy w odpowiedniej kolejności generować[obliczać] te pierwiastki i w takiej samej kolejności je wypisywać ale jeżeli ktoś tak bardzo chce, może sortować, ale musi uwzględnić komentarz Witolda. Przecież nie dostaniesz AC, jeżeli podasz wyniki w innej, dowolnej kolejności, a nie w takiej jakiej oczekuje autor.

Odniosłem się do tego:

Ja wypisuje wyniki:
printf ("%.10lf … i bez względu, czy funkcja printf sama zaokrągla czy obcina, mam AC.

Źle Cię zrozumiałem?

A jak to zrozumiałeś? :wink: Według Ciebie, co robi funkcja printf? Obcina, czy zaokrągla? Jeżeli nie wiesz, a chcesz uściślić, powinieneś to sprawdzić. No i oczywiście to nie wszystko co tam napisałem.

Czy ja napisałem, że robi którekolwiek z tych dwóch. Wiem co robi printf - takie “jeżeli nie wiesz” to już trochę wywyższające, nie sądzisz?

Zrozumiałem, że i w przypadku wyświetlania zaokrąglonego wyniku jak i obciętego masz AC. O co Tobie chodziło?

Usuwam więc dodatkowe uściślenia jeżeli mogą wprowadzić w błąd.

!!?

Nadal nie widzę bym napisał “printf obcina …” lub “printf zaokrągla …”. Napisałem, że Ty tak stwierdziłeś bo tak zrozumiałem ten tekst:

bez względu, czy funkcja printf sama zaokrągla czy obcina

Ja sam nie rozważałem w swych wypowiedziach działania printf, tym bardziej, że pisałem w Pythonie to co ja mam do printf?

Edit: oczywiście mogę napisać teraz. Otóż:
printf może robić bardzo dużo rzeczy, na przykład wyświetlać, zaokrąglać, uzupełniać.

Edit2: nie analizowałem czy to co napisałeś (albo raczek co zrozumiałem że napisałeś) jest poprawne. O to Ci chodziło? Jeśli tak (nie wiem) to wystarczyło napisać:
“Chyba źle mnie zrozumiałeś :wink: chodziło mi że…” i by było milej.

5 years later

Czy te odpowiedzi są “prawidłowe”? Piszę w cudzysłowie, bo wygląda na to, że sprawdzarka może być błędna. O czym wnioskuję po odpowiedziach do przykładowego testu:

1.0000000000 0.0000000000
1.0000000000 0.0000000000
-1.0000000000 0.0000000000
1.0000000000 0.0000000000
-0.5000000000 0.8660254037
-0.5000000000 -0.8660254037

Podczas gdy prawidłowymi odpowiedziami byłyby oczywiście:

1.0000000000 0.0000000000
1.0000000000 0.0000000000
-1.0000000000 0.0000000000
1.0000000000 0.0000000000
-0.5000000000 0.8660254038
-0.5000000000 -0.8660254038

Drobna różnica, a cieszy(łaby).
Wygląda na to, że zamiast zaokrąglić, należy przyciąć liczbę w dół. (Chyba, że sprawdzarka toleruje odchyły).

Próbowałem tak, próbowałem siak, próbowałem wspak, próbowałem po rumuńsku. M.in2. wersji dającej wyniki takie jak Twoje. A wydaje mi się, że kolejność masz dobrą. Liczę na long double’ach.

Czy mogę prosić o jakieś wskazówki, podpowiedzi lub testy do tego zadania?

" to poprawnie powinno być 0 <= n < …"

Zatem jeśli n=0, to mamy wyznaczyć wszystkie liczby zespolone, które podniesione do potęgi 0 dadzą w wyniku 1. Wydaje mi się, że takich liczb jest dość dużo. Co zatem należałoby wypisać w takiej sytuacji? Może nic?

U mnie nie ma outputu dla n = 0. Faktycznie, n=0 jest w testach. Liczylem na double. Do reszty sie nie odniose bo jestem na tel

Zmniejszyłem dokładność do double. Dla n=0 też nic nie wypisuję. Próbowałem zarówno zaokrąglania, jak i odcinania cyfr dalszych niż 10 po przecinku. W wersji z zaokrąglaniem mam identyczne wyniki jak @redysz , w zamieszczonym przez niego teście (nie licząc nowej linii na końcu).

Niestety, rzekomo nadal “Błędna odpowiedź”. :neutral_face:

Jak coutujesz? Fixed + setprecision(10)? I jakiego przyblizenia pi uzywasz? M_PI?

Przeglądając swoje rozwiązanie widziałbym tu jeszcze jedną pułapkę. Można by się pokusić o drobną optymalizację obliczeń dokonując tak zwaną redukcję mocy, zamieniając pewne operacje mnożenia i dzielenia na operację dodawania zmiennoprzecinkowego. Problem w tym że takie podejście nie miałoby wystarczającej dokładności obliczeń.

const double PI = 3.14159265358979323846;
printf("%.10Lf", num); …no własnie :sweat_smile:
Haha…zapomniałem zmienić po zejściu z long double do double :sweat_smile:
Poprawiłem tę jedną rzecz i teraz już AC :sweat_smile:
Dzięki wielkie! :smile: :pray: