Jump to content

Matemātika - vīruss


Rufx
 Share

Recommended Posts

Datora vīruss pastāv 15 dienas un viņš  inficē pirmo datoru, ik pēc 2 dienām viņš inficē 1 datoru, kopā šis vīruss inficē 7 citus datorus. Katra inficētā dators veido sākotnējo ciklu, kas aprakstīts pirmajā teikumā un pēc 15 dienām sāk inficēt jaunus datorus, ik pēc 2 dienām pa 1 datoram un tā līdz inficē 7 datorus. Cik inficētu datoru būs pēc 10, 20, 30, 40, 50, 60, 70, 80, 90 un 100 dienām? Ar kādu formulu šo var atrisināt?

Labots - Rufx
Link to comment
Share on other sites

WOW boot.lv var redzēt, ka katru gadu jaunatnes izglītības līmenis krītas un aiz vien vienkāršāki uzdevumi liek klibot jaunajiem studentiem.

 

Gan jau  pēc gadiem X uzdevumi būs:

 

----------------------------------------------------------------------------------------------------------

 

Uzdevuma apraksta teksts. 

Jautājums.

Atbilde.

 

Lai atrisinātu šo uzdevumu pārrakstiet augstāk redzamo atbildi tieši virs nākamās redzamās punktotās līnijas:  ..........................................................................   .

 

----------------------------------------------------------------------------------------------------------

 

Varu saderēt tik un tā te kāds nāks uz forumu un jautās: "a ko man darīt? "

 

@Rufx tev jādara apmēram šādi uz papīra.

 

(1) Pirmās 15 dienas inficētie PC, ko var arī apzīmēt ar cipariem

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

      x     x    x    x       x         x        x

 

(2) Otrās 15 dienas

Katrs X kļūst par 1 iterāciju un atkārto procesu.

 

(Te nav skaidrs vai pirmais turpina inficēt, tāpēc uzskatīšu, ka jā)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

      x     x    x    x       x         x        x

 

(2.3) Infekcijas kas izriet no 3 datora

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

      x     x    x    x       x         x        x

 

(2.5) Infekcijas kas izriet no 5 datora

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

      x     x    x    x       x         x        x

 

(2.7) Infekcijas kas izriet no 7 datora

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

      x     x    x    x       x         x        x

 

(2.9) Infekcijas kas izriet no 9 datora

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

      x     x    x    x       x         x        x

 

(2.11) Infekcijas kas izriet no 11 datora

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

      x     x    x    x       x         x        x

 

(2.13) Infekcijas kas izriet no 13 datora

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

      x     x    x    x       x         x        x

 

(2.15) Infekcijas kas izriet no 15 datora

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

      x     x    x    x       x         x        x

 

BET ņem vērā, ka no uzdevuma nevar saprast vai dators sāk skaitīt no inficētās dienas vai no cikla gala, jo tad sanāk ka dators Nr.3 sāks inficēt citus PC ātrāk nekā dators Nr.15, kas ir būtiski, jo ja domā ka pēc 1 infekcijas visi draudzīgi pēc 15 dienām sāk inficēt nākamos PC, tad ir diezgan veinkārši.

 

Ja domā, ka laiks sāk skaitīties no infekcijas momenta nevis cikla gala, tad ir sarežģītāk.

Labots - kazarma
Link to comment
Share on other sites

Pirms ķerties pie risināšanas, es labprāt gribētu noskaidrot, cik datoru ir šajā iedomātajā pasaulē un vai tie ir savstarpēji savienoti tīklā.

  • Patīk 1
Link to comment
Share on other sites

Šim rakstam nav nekāda sakara ar skolu vai mācībām. Uzdevuma informācija saistībā ar datoriem un vīrusiem ir izdomāta, tam nav nekāda sakara un dziļa doma!
Daudzu jūsu loģika ir tāda, kad man pirms šīs tēmas uzsākšanas vajadzēja aktīvi pavadīt vairākas nedēļas vai mēnešus šajā forumā? Es uzsāku interesantu tēmu, kas ne tikai man liek pakustināt smadzenes, bet arī kādam no jums.
Es lūdzu palīdzību vietā, kurā nodomāju būs intelektuāli cilvēki, kas varētu palīdzēt! Uz lapas šo atrisinājumu var rakstīt un rakstīt, bet tur vajadzīgs ļoti daudz laika un pacietības, bet es noteikti zinu, kad ir kāds gudrāks cilvēks par mani, kurš spētu izdomāt kā šo visu var aprēķināt elementārāk.

@kazarma
Paldies, par tavu atsaucīu! Atvaino, kad uzdevums uzrakstīts nekorekti. Laiks sāk skaitīties no infekcijas momenta. Piemēram pirmais dators, kurš pastāv 15 dienas (var neņemt 1 PC īsti vērā, jo tas neko nemaina) inficē pēc 2 dienām otro un otrais dators pēc 15 dienām sāk pirmā datora ciklu, tas infice katru otro dienu pa datoram līdz sasniedzis 7 un tā tas vis turpinās.

Labots - Rufx
Link to comment
Share on other sites

@Rufx: Ok kur tad ir tava problēma?

 

Šis ir reāli easy uzdevums, šādus uzdevumus mēs risinājām skolā kāda 7/8 klasē kā  "riekstiņa" uzdevumus 10 saņemšanai.

 

Šis uzdevums nav priekš šis publikas, kur nu vēl universitātes darba vērts.

 

Labāk priekš šis publikas var piedāvāt šāda veida uzdevumus, kur bez googles "ātri" galā netiksi:

 

P.S Es atvēlētajā laikā ar to galā netiku.

 

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

You are king of an empire and you are going to have a party soon. The party is the most important party you've ever hosted. You've got 1000 bottles of wine you were planning to use for the party, but you found out that one of them was poisoned.

The poison shows no effects until death. Death occurs within ten to twenty hours after drinking even the smallest amount of poison.

You have thousands of slaves at your disposal and just under 24 hours to determine which bottle has been poisoned.

You have a few prisoners soon to be executed, and it would ruin your celebration to have anyone else killed.

What is the least number of prisoners you must have to drink from the bottles to be confident that you found the poisoned wine in 24 hours?

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Link to comment
Share on other sites

@kazarma - es izdomāju <5min bez Googles palīdzības. :)

 

@Rufx - lai arī tur noteikti var izdomāt kaut kādu formulu, ieraudzīt tomēr es to tagad nevaru tā uzreiz. Taču es zinu, ar kādu algoritmu to var atrisināt:

 

Katrs inficētais dators, tātad, faktiski, var atrasties 28 dažādos stāvokļos - atkarībā no tā, kurā dienā viņš ir. 1. dienā viņš inficējas pats; 15/17/19/21/23/25/27. dienā viņš inficē kādu citu datoru (kurš tad nonāk 1. dienā), un sākot ar 28. viņš atkal ir neaktīvs. (Pakoriģē mani, ja neesmu sapratis tieši kas ir kurā dienā, bet tas nemaina lietas būtību).

 

Tātad, mums vajag masīvu ar 28 elementiem - katrā elementā būs to datoru skaits, cik ir attiecīgajā stāvoklī. Uz katru dienu (cikls) visi masīva elementi tiek "pabīdīti" par 1 pozīciju uz priekšu, līdz nonāk beigās, kur 28. stāvoklī visi tik summējas kopā. Un savukārt summa no 15/17/.../27. dienas nonāk 1. elementā.

 

Pēc X dienām saskaiti visus masīva elementus un redzēsi, cik ir inficēti. :)

 

Algoritma sarežģītība - O(N), kur N ir dienu skaits, pēc cik ir jāpasaka infekcijas apmēri.

 

Pseidokodā:

mas <= masīvs[1..28]
mas[1] <= 1
N <= 100 // Dienu skaits, pēc kura mēs gribam redzēt, kas notiek.
Ciklā ar X no 1 līdz N:
   mas1temp <= mas[1]
   mas[1] <= mas[15]+mas[17]+mas[19]+mas[21]+mas[23]+mas[25]+mas[27]
   mas[28] <= mas[28] + mas[27]
   Ciklā ar Y no 27 līdz 3
       mas[Y] <= mas[Y-1]
   mas[2] <= mas1temp
Izvada sum(mas)
Labots - Vilx-
Link to comment
Share on other sites

Nu, tāpēc tas ir pseidokods. Redzēs, vai pietiks smadzeņu pārtulkot uz kādu konkrētu valodu. :)

Link to comment
Share on other sites

Izveido kontu, vai pieraksties esošajā, lai komentētu

Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas

Izveidot jaunu kontu

Piereģistrējies un izveido jaunu kontu, tas būs viegli!

Reģistrēt jaunu kontu

Pierakstīties

Jums jau ir konts? Pierakstieties tajā šeit!

Pierakstīties tagad!
 Share

×
×
  • Izveidot jaunu...