• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

SPOJ - Divisor Summation - Strona nie przyjmuje

Object Storage Arubacloud
0 głosów
329 wizyt
pytanie zadane 28 sierpnia 2016 w C i C++ przez Sinnley Stary wyjadacz (12,810 p.)

http://pl.spoj.com/problems/DIVSUM/

Napisalem program, moim zdaniem, rozwiazujacy problem. Strona jednak zwraca problem time limit exceeded.

Gdzie jest blad, co powininenem poprawic?

#include <iostream>

using namespace std;

int main() {


	long int sum = 0;
	long int a;

	while (cin >> a && a >= 1 && a <= 500000) {

		for (int i = 1; i < a; i++) {

			if (a%i == 0)
				sum += i;

		}
		
		cout << sum << endl;
		sum = 0;
	}


	return 0;
}

 

1 odpowiedź

0 głosów
odpowiedź 28 sierpnia 2016 przez ZakosiliMiNeta Nałogowiec (30,870 p.)
Mała czy duża wskazówka ?
komentarz 28 sierpnia 2016 przez Sinnley Stary wyjadacz (12,810 p.)
Nie. Około południa normalnie sprawdzało.
komentarz 29 sierpnia 2016 przez manjaro Nałogowiec (37,390 p.)
To zadanie działa tylko na angielskim spoju na polskim niestety nie. W ogóle to dopiero teraz zauważyłem że na angielskim działają wszystkie statystyki...

Zadanie udało mi się zaliczyć ale sporo się namęczyłem. Spoj już mnie w tym względzie irytuje strasznie i zaczynam mieć go dość. 2 godziny nie mogłem znaleźć błędu którym okazał się brak endl; Zazwyczaj na spoju nie miało to nigdy znaczenia czy między testami się daje endl; czy też nie a teraz jednak miało. Poza tym w tym zadaniu dla n=1 wynikiem jest 0 a nie 1, trzeba to uwzględnić. Też to mnie dziwi dlaczego, skoro dla każdej liczby 1 jest dzielnikiem który trzeba uwzględnić ale dla samej 1 już liczba 1 nie jest dzielnikiem... Dziwne.
komentarz 29 sierpnia 2016 przez ZakosiliMiNeta Nałogowiec (30,870 p.)

Nie czytałeś zadania dokładnie i dziwisz się, że dla 1 jest 0, a nie 1? Co do wypisywania to ma być tak jak jest pokazane jak na testach przykładowych ( nie czytałeś ich na początku ), jedno pod drugim, jak się nie dostosujesz to siema i nie będzie oceniała czy dobre wyniki masz.

 Spoj już mnie w tym względzie irytuje strasznie 

Czyli co cię jeszcze denerwuje? Ogólnie śmieszne jest to, że ludzie nie wiedzą do czego jest SPOJ,a przy okazji SPOJ jest słabą platformą. 

komentarz 29 sierpnia 2016 przez manjaro Nałogowiec (37,390 p.)
A gdzie tam masz napisane że dla 1 ma być 0? Przyjąłem że po prostu każda liczba dzieli się przez 1 i to jest oczywiste.

Poza tym testując wyniki dla największych liczb dostaję wynik 6 cyfrowy ale jak się ustawi wynik jako int to będzie za mało trzeba już longów użyć żeby spoj przyjął. Nie wiem po co jemu tam longi.

Irytują mnie właśnie takie pierdoły. Bo zadanie człowiek rozwiąże algorytm jest OK a oni się czepiają pierdół. Pół dnia szukam błędu w algorytmie a tam się okazuje że algorytm jest OK tylko endlajna brakuje. Podkreślam w innych zadaniach zazwyczaj spoja nie interesuje czy między testami dajesz endlajna czy nie.
komentarz 29 sierpnia 2016 przez ZakosiliMiNeta Nałogowiec (30,870 p.)

Gościu serio ?

A gdzie tam masz napisane że dla 1 ma być 0? Przyjąłem że po prostu każda liczba dzieli się przez 1 i to jest oczywiste.

Definition: A proper divisor of a natural number is the divisor that is strictly less than the number. 

lees than the number, to chyba jest oczywiste.

Int i jest mu za mało chyba bajki opowiadasz, lecz to sprawdzę.

Czepiają się pierdół? Dla maszyny jest to różnica 1\n10\n1231\n niż 1101231 nie czaisz tego ?

Podobne pytania

0 głosów
2 odpowiedzi 819 wizyt
+1 głos
2 odpowiedzi 525 wizyt
pytanie zadane 26 września 2019 w C i C++ przez Tedi Użytkownik (580 p.)
0 głosów
0 odpowiedzi 187 wizyt
pytanie zadane 16 lipca 2017 w C i C++ przez Yomen Nowicjusz (120 p.)

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...