Skocz do zawartości

Temat został przeniesiony do archiwum

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

Gość robertko

Problem z zadaniem

Rekomendowane odpowiedzi

Gość robertko

Witajcie

 

Zadanie o treści https://zadania.programuj.edu.pl/c/mlodzi-mistrzowie-polskiej-infor/p/dzi/

 

Rozwiązałem Tutaj

 

public class Main {
static InputStream is;
static PrintWriter out;
static String INPUT = "";

public static void main(String[] args)
{
	is = System.in;
	out = new PrintWriter(System.out);	


	int n=ni();
	long wyn=0;
	boolean np[] = new boolean[n+1];
	for(int i=0;i<=n;i++)np[i]=false;


	int zak=3200;
	if(zak>n)zak=n;

	for(int i=2;i<zak;i++)if(!np[i])
	{

		for(int j=i*2;j<=n;j+=i)if(!np[j])
		{

			np[j]=true;
			wyn+=i;
		}
	}

	for(int i=2;i<=n;i++)if(!np[i])wyn+=i;

	out.printf("%d",wyn);
	out.flush();
}


static byte[] inbuf = new byte[1024];
static int lenbuf = 0, ptrbuf = 0;

static int readByte()
{
	if(lenbuf == -1)throw new InputMismatchException();
	if(ptrbuf >= lenbuf){
		ptrbuf = 0;
		try { lenbuf = is.read(inbuf); } catch (IOException e) { throw new InputMismatchException(); }
		if(lenbuf <= 0)return -1;
	}
	return inbuf[ptrbuf++];
}

static int ni()
{
	int num = 0, b;
	while((b = readByte()) != -1 && !(b >= '0' && b <= '9'));

	while(true){
		if(b >= '0' && b <= '9'){
			num = num * 10 + (b - '0');
		}else{
			return num;
		}
		b = readByte();
	}
}

}

 

mam takie pytanie co zrobić żeby wyniku np dla 7 wynik był 0

 

???

 

proszę o pomoc co mam przerobić?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

przejrzałem tak na szybko nie bardzo wiem o co chodzi. Twoim zadaniem jest znalezienie najmniejszego wspólnego dzielnika > 1. To przecież podstawowy problem matematyczny, klepnij w google ale po ang. masz nie tylko sam algorytm ale i kod....

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość robertko

Chciałbym się dowiedzieć w którym miejscu się zmienia kod żeby wynik dla 7 był 0 ???

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość robertko

Poprawiłem

 

Pozdrawiam

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Zlitowałem się...

 

Dlaczego tak prosty program jest tak skomplikowanie napisany? Przede wszystkim czy w javie trzeba tak kombinować z czytaniem wejścia?

Więcej zabawy z obsługą wejścia w tym programie niż faktycznym rozwiązaniem zadania, które też jest dziwnie napisane i według mnie nie działa poprawnie (nie wgłębiałem się ale jak na sprawdzanie dzielników bez dzielenia, to coś jest nie tak).

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Ten odczyt bajt po bajcie to pewnie to samo co w większości pożal-się-boże zawodów algorytmicznych - poza samym algorytmem masz także zawrzeć i/o (piszesz kompletny program), co w ostateczności kończy się na konkursie kto ma najszybsze i/o, zamiast lepszego algorytmu :lol2:

 

Sorry ale nie uwierzę że ktoś w ciągu trzech dni przechodzi ze stanu "nie umiem napisać fora w drugą stronę" do tego co jest w pierwszym poście. Kopiuj wklej i "zróbcie za mnie".

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość robertko

Dziękuje za pomoc,proszę o zamknięcie tematu...

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

  • Popularne aktualnie

  • Odpowiedzi

    • Cześć,  Składałem wczoraj znajomemu komputer. Z ważniejszych części: Mobo msi pro z790-p wifi Cpu i5 12600kf Gpu Gigabyte GeForce RTX 4060 Eagle OC 8GB GDDR6 Zasilacz Gigabyte P750GM Reszta chyba mało istotna. Po złożeniu wszystko śmigało. Windows się zainstalował, sterowniki do płyty głównej też. Niestety w trakcie instalacji sterowników do karty graficznej komputer się resetuje i już nie chce się włączyć. Wyskakuje naprawa systemu, która nic nie daje, ewentualnie można przywrócić system, to się włącza. I tak w kółko. Zrobiłem update biosu płyty głównej, bez zmian. Sprawdzałem CPU i ram jakimiś programami do sprawdzania, temperatury są super, nie wywala żadnych błędów. Ale gdy tylko instaluję sterowniki do GPU, następuje śmierć  Mam już zero pomysłów o co może chodzić. Spotkał się ktoś kiedyś z takim problemem?   
    • Ostatni duży patch był jeszcze w styczniu, od tamtego czasu cisza, a jak pojawił się jakiś patch z pierdołami. Ta gra jest martwa.
    • Już jak tak się bawimy to skoro jesteś tylko pilotem, to Twoim zadaniem jest wyłącznie latanie, sprawy techniczne, rejestracja lotu itd. realizuje ktoś inny. Natomiast operator drona to osoba, która odpowiada również za całą techniczno-organizacyjną otoczkę lotu dronem   Dlatego napisałem, żebyś przeczytał ze zrozumieniem, bo wszystkie przywołane przepisy i to co wielokrotnie pisałem o tym właśnie mówią, że latać możesz, ale równie dobrze może się to wiązać z konsekwencjami od osób, których prywatność możesz naruszyć wykonywaniem swoich czynności... A czy kręcąc z chodnika kamerą mieliby podgląd na to jak wyglądają działania na całej posesji?
    • Kiedyś jak zacząłem chodzić na siłownię w wieku 17 lat to jak widziałem typów co mieli po 30 lat to od razu myślałem, Jezu co za stary dziad, że to się jeszcze rusza.
    • Ale kim przeprowadzą tę ofensywe? Nie spotkałem się z opiniami analityków żeby mieli jakieś wolne niezagospodarowane wojska w tym momencie. 
  • Aktywni użytkownicy

×
×
  • Dodaj nową pozycję...