Թաքցված խնդիր
|Այս խնդիրը թաքցված է խմբագրական խրհրդի անդամի կողմից քանի որ կամ այն ոչ ճիշտ լեզվով է գրված,|կամ թեստային տվյալներն են սխալ, կամ խնդրի ձևակերպումը պարզ չէ։|

HASHAST - Հաշվենք աստիճանը

Տրված x-ից x31 աստիճանը կարելի է հաշվել x-ը 30 անգամ իրենով բազմապատկելով.

x2 = x × x,   x3 = x2 × x,  x4 = x3 × x, …, x31 = x30 × x

Հաշվի առնելով, որ քառակուսի բարձրացնելը կրճատում է բազմապատկումների հաջորդականությունը, կարելի է x31-ը հաշվել ութ բազմապատկման միջոցով.

x2 = x × x,  x3 = x2 × x,  x6 = x3 × x3,  x7 = x6 × x,  x14 = x7 × x7, x15 = x14 × x,  x30 = x15 × x15,  x31 = x30 × x

Սա x31-ը հաշվելու ամենակարճ եղանակը չէ։ Միայն յոթ բազմապատկումների միջոցով հաշվելու շատ եղանակներ կան։ Օրինակ, հետևյալ կերպ.

x2 = x × x,  x4 = x2 × x2,  x8 = x4 × x4,  x10 = x8 × x2, x20 = x10 × x10, x30 = x20 × x10, x31 = x30 × x

Ավելի քիչ բազմապատկումների թվով հնարավոր չէ հաշվել x31-ը։ Այնպես որ, սա միայն բազմապատկումների միջոցով x31-ը հաշվելու ամենաարդյունավետ եղանակներից մեկն է։

Բայց եթե թույլատրվի օգտագործել նաև բաժանում, գործողությունների քանակը կարելի է կրճատել։ x31-ը կարելի է հաշվել 6 գործողության (5 բազմապատկման և 1 բաժանման) միջոցով.

x2 = x × x, x4 = x2 × x2, x8 = x4 × x4, x16 = x8 × x8,  x32 = x16 × x16, x31 = x32 ÷ x

Սա x31-ը հաշվելու ամենաարագ եղանակներից մեկն է, եթե բաժանումը նույնքան արագ կատարվի, որքան բազմապատկումը։

Պահանջվում է գրել ծրագիր, որը գտնի, թե տրված n-ի համար առնվազն քանի բազմապատկման և բաժանման գործողությունների միջոցով է կարելի հաշվել xn-ը ։

Մուտքը

Մուտքի յուրաքանչյուր տողում տրված է մի n բնական թիվ, որը չի գերազանցումը 1000-ը։ Մուտքային տվյալներն ավարտվում են 0-ով, որը պետք չէ մշակել։

Ելքը

Ելքում, մուտքային յուրաքանչյուր n թվի համար հարկավոր է արտածել մի թիվ՝ x-ից սկսած xn-ը բազմապատկման և բաժանման միջոցով ստանալու համար մինիմալ գործողությունների քանակը։

Օրինակ

Մուտքը.
31
1
0
 Ելքը. 6 0

Ավելացրեց.Andreasyan
Ամսաթիվ.2012-06-03
Ժամանակի սահմանափակումը.0.103s
Ծրագրի տեքստի սահմանափակումը.50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Լեզուներ.C CSHARP C++ 4.3.2 CPP CPP14 JAVA PAS-GPC PAS-FPC PYTHON3
Աղբյուրը.ընտրական 2010, Armenia QF 2007

թաքցնել մեկնաբանությունները
2014-07-18 08:39:17 Martin
12
11
9
2013-09-07 17:23:43 Levon
1000
556
123
0
patasxan@ incha ??
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.