Бодлого 1: K тооны N зэрэг хэдэн оронтой вэ? (1<K, N<1000)
Шийдэл: K^N тооны оронгийн тоо нь Log10(K^N)+1 буюу N*Log10(K)+1 гэсэн үг.
C хэл дээрх бодолтын хэсгээс бичвэл:
printf("%d", (int)(N*Log10(K))+1);Жич: K, N нь нэлээн том тоо болчихвол Log10(K)-ын нарийвчлалаас хамаараад алдаатай хариу гарах юм. Тиймээс (1<K, N<1000) гэдгийг анхаарна уу.
Уг санааг ашиглан бодож болох бодлогууд:
Uva - 10219
Бодлого 2: 2N+1 (10^6<N) ширхэг тоо өгөгдсөн ба зөвхөн нэг тоо л сондгой ширхэг өгөгдсөн (бусад нь бүгд тэгш ширхэг гэсэн үг) бол тэрхүү тоог ол.
Шийдэл: XOR үйлдлийг ашиглавал их амархан бодогдоно. Бүх тоонууд дээрээ эхнээс нь XOR үйлдлийг хийхэд гарах тоо нь бидний хайсан хариу юм.
godskyra : yag yug n oilgohgui bgan?
ReplyDeleteXOR hiin gedgiig delegrengui tailbarlaj uguuch
ReplyDeleteБаярлалаа
ReplyDeleteTnx
ReplyDeleteЭнэ бодлого 2-ийн кодыг бичээд өгөөч яаж хоёр тоон дээр XOR үйлдэл хийдэг юм вэ.
ReplyDelete