C, PHP, VB, .NET

Дневникът на Филип Петров


* Двойното число

Публикувано на 10 септември 2009 в раздел Математика.

Нека X е естествено число (цяло и положително), което завършва с цифрата 2. Ако вземем последната цифра на X, премахнем я и я сложим в началото на числото, то ще получим ново число Y, което е два пъти по-голямо от X. Намерете числата X и Y…

П.П. За да не стават обърквания при „слагането на последната цифра в началото на числото“, то ето един пример: ако X = abcd2, то Y = 2abcd.

 



13 коментара


  1. az каза:

    с риск да се изложа ще подхвърля една идея.
    2 * ( 10*z + 2 ) = 2 * 10^n + z

  2. Това не го разбрах много добре. Какво е z и какво е n?

  3. Lesna Rabota каза:

    няма решение или грешно условие

  4. Lesna Rabota – и как го доказа това?

  5. Е чакай, аз съм написал „ако X = abcd2, то Y = 2abcd.“. Това не значи, че „X = abcd2“. Това е просто пример, който да покаже операцията „преместване на 2 от края в началото на числото“.

    Исках чрез него да не се получи объркване, а то взе, че предизвика такова :)

    Иначе като гледам си на прав път!

  6. Lesna Rabota каза:

    ето така:
    X=abcd2
    Y=2X=2abcd
    => d=4
    X=abc42
    Y=2X=2abc4
    => c=8
    X=ab842
    Y=2X=2ab84
    => b=6
    X=a6842
    Y=2X=2a684
    => a=3, ама се получава противоречие!

  7. mertol каза:

    написах следната програма:
    LOCAL ln, ost, time
    time=SECONDS()
    ln=“1″
    ost=“0″
    DO WHILE EVALUATE(„2″+LEFT(ln,LEN(ln)))#2*EVALUATE(ln)
    tmp=ln+ALLTRIM(STR(FLOOR(EVALUATE(ost+RIGHT(ln,1))/2)))
    ost=ALLTRIM(STR(EVALUATE(ost+RIGHT(ln,1))%2))
    ln=tmp
    ENDDO
    MESSAGEBOX(ln)
    която изкара следния отговор:
    http://img6.imageshack.us/img6/9049/91204366.jpg
    това не е верен отговор, просто е достигнат лимита на дългите числа, но ясно се вижда че от едно място натам цифрите започват да се повтарят, така че няма решение.

  8. mertol каза:

    Може би не става ясно, но идеята ми е, че щом числото започва с 2, значи 2но по-малкото започва с 1 => числото започва с 21 => по-малкото започва с 10 => числото започва с 210 и тн.

  9. Браво на Lesna Rabota – това е отговорът.

    Идеята е следната. X завършва с 2 => Y като двойно по-голямо завършва на 4. Да, но последното число на Y се явява предпоследно на X => X завършва на 42. От там, пак понеже Y е два пъти по-голямо от X, то предпоследното на Y трябва да е 8… Така се продължава докато не се стигне до отговора. Ако двойното число надхвърли 10 – взимаме „1 наум“ и т.н.

  10. Mertol каза:

    оправих си и моята програма:
    LOCAL ln, ost, time
    time=SECONDS()
    ln=“10″
    ost=“1″
    DO WHILE EVALUATE(„2″+LEFT(ln,LEN(ln)-1))#2*EVALUATE(ln) OR RIGHT(ln,1)#“2“
    tmp=ln+ALLTRIM(STR(FLOOR(EVALUATE(ost+RIGHT(ln,1))/2)))
    ost=ALLTRIM(STR(EVALUATE(ost+RIGHT(ln,1))%2))
    ln=tmp
    ENDDO
    MESSAGEBOX(„2*“+ln+“=“+alltrim(STR(2*EVALUATE(ln))))

  11. Mertol каза:

    нещо повече ако числото се повтори n пъти условието пак е вярно 2*105263157894736842105263157894736842=210526315789473684210526315789473684

  12. Lesna Rabota каза:

    значи с повече цифри :-) става
    X=105263157894736842
    Y=210526315789473684

  13. Браво – виж това на хартия нямаше да го открия :)

Добави коментар

Адресът на електронната поща няма да се публикува


*