Jump to content
php.lv forumi

C++


Ownmen

Recommended Posts

Sveiki!

Atvainojos, ka esmu iegriezies php forumā, bet Latvijā zinu tikai php.lv un boot sakarīgus forumus.

Ķeršos pie lietas -

Dots uzdevums: Dots naturāls skaitlis n. Izdrukāt tos skaitļa n reizinātājus, kuri ir kāda naturāla skaitļa kvadrāti.

Tātad, ja, piemēram, ir ievadīts skaitlis 64, ar pow() f-ju iegūsti visas nepieciešamās kvadrātu vērtības, tad skaitli sāku cikliski sadalīt reizinātājos un tad sāku pārbaudīt vai kāds no reizinātājiem ir kāda skaitļa kvadrāts, es tā to saprotu. (pareidzamais rezultāts - 1, 4, 16, 64)

Mans kods programmai:

http://code.ihack.lv/84

bet rezultāts ir šāds:

 

64

1

64

4

16

9

9

4

4

4

16

4

25

1

1

1

36

1

1

1

1

1

1

1

1

1

1

1

1

1

49

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

64

1

Piedodiet, par garo virkni...

 

pareizos rezultātus jau programma izdod, bet tā, diemžēl, izdod arī nevajadzīgos rezultātus. Cik es noprotu, tā parāda arī nenaturālo skaitļu salīdzināšanu un rezultātus, bet nezinu, kā to novērst. Varbūt jums ir idejas labākam programmas variantam vai problēmas novēršanai?

Link to comment
Share on other sites

Dots naturāls skaitlis n. Izdrukāt tos skaitļa n reizinātājus, kuri ir kāda naturāla skaitļa kvadrāti.

 

Skaitļa n reizinātājs ir skaitlis, kurš dala n bez atlikuma. Un vienlaikus viņam ir jābūt arī kvadrātam, tāpēc primitīvākais algoritms ir pavisam vienkārš pārbaudīt visus kvadrātus līdz n, vai tie dalot n, dod atlikumu 0. Protams tas ir pilnās pārlases algoritms. Ātrāks algoritms varētu būs sadalīt skaitli pirmreizinātājās un tos kombinēt pa pāriem tā, kā tie veido kvadrātu, uzreiz iegūt visus variantus, bet šāds algoritms ir krietni sarežģītāks.

Edited by codez
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...