Математичка мистерија

  • Креатор на темата Креатор на темата acetetovo
  • Време на започнување Време на започнување
10! = 10
symbol_times.gif
9
symbol_times.gif
...
symbol_times.gif
3
symbol_times.gif
2
symbol_times.gif
1 = 3628800
3 + 6 + 2 + 8 + 8 + 0 + 0 = 27.
--- надополнето: 12 ноември 2012 во 21:12 ---
Задачата од дека шо сам ја ископал е за програмери, не за математичари. Ако има некој шо решава, нека каже дали да напишам одговоро, или ќе се помаче.
Јас ја реших со код, не со математика.
 
За 100!, јас вака резонирам
Мојот Учител во основно ме учеше да проверам резултат на множење ( нему сум му благодарен за мојата љубов кон математиката, одамна е починат но ќе живее во моето срце се додека сум жив ). Значи мојот Учител ме учеше вака да проверувам, на пример
2345 * 3428 = 8038660
Ги собирам цифрите 2 + 3 + 4 + 5 = 14 - одземам 9, останува 5
3 + 4 + 2 + 8 = 17 - одземам 9 останува 8
Збирот на двата остатоци е 5 + 8 = 13 одземам 9 останува 4
А збирот на цифрите од производот е:
8+3 + 8 + 6 + 6 = 31 одземам 3*9 останува 4
Веројатно забележавте 14 + 17 = 31
Ако се овие остатоци точни тогаш немам грешка во множењето. Ова го научив тогаш напамет и никогаш не сум размислувал врз кој основ се базира оваа проверка но така е. Еве уште неколку збора за мојот Учител. Тој беше стварно учител, кога јас одев во основно училиште од пето до осмо предаваа учители со завршено учителско школо. Сега по школите предаваат со професори, наставници со факултет и ќе се навредат ако ги наречеш Учител. А ништо нема поубаво некој да те нарече Учител. Многу подоцна, додека студирав, вистински Професор, ми признаа дека најмногу сака да го нарекуваат Учител. И од него научив доста.
Сега се враќам на 100!
Значи треба да ги соберам цифрите на сите броеви од 1 до 100
1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 = 45 тоа е деливо со 9
Понатаму во втората десетка ( 10, 11, 12,... 1) имам десет единици, што значи остаток е 1 )
Во третата десетка ( 20, 21, ... 29) имам десет двојки значи остаток е 2
И така натаму до последната десетка ( 90, 91....99 ) каде што остаток е 9. И ако и обие ги соберам повторно добивам 45.
И останува само 100 односно бројот 1
или дефинитивно 20 * 45 + 1 = 901
Тоа е мојот одговор и приказната за мојот Учител
 
или дефинитивно 20 * 45 + 1 = 901

Бројот е 648.
Ако му се соберат цифрите и на овој број добиваме 9, значи во право сум бил.
Проверено со код.

Сите броеви поголеми од 5 имаат збир на цифрите на факториелот еднаков на 9 (значи зборам за сума од сумата на цифрите).
Многу интересно својство, до сега не сум го знаел.
 
Бројот е 648.
Ако му се соберат цифрите и на овој број добиваме 9, значи во право сум бил.
Проверено со код.

Сите броеви поголеми од 5 имаат збир на цифрите на факториелот еднаков на 9 (значи зборам за сума од сумата на цифрите).
Многу интересно својство, до сега не сум го знаел.
Да да да.. И јас коа пробах математички да ја решам стигах до тај заклучок....

Браво.... И јас решавах 5 минути на хартија, и викам шо се мачам, за 5 минути наштраках го кодо и излезе бројката... :pos:
Ајде сега друга задача.... Кој ќе поставе...
 
Бројот е 648.
Ако му се соберат цифрите и на овој број добиваме 9, значи во право сум бил.
Проверено со код.

Сите броеви поголеми од 5 имаат збир на цифрите на факториелот еднаков на 9 (значи зборам за сума од сумата на цифрите).
Многу интересно својство, до сега не сум го знаел.
Да те замолам објасни за 648 - не разбирам што е тоа код
 
Да те замолам објасни за 648 - не разбирам што е тоа код

Програмски го пресметав

Еве го кодот (Луки ќе верификува :))

Код:
ulong factorial = 1;
            BigInteger output = 1;
            // calculate factorial
            while (factorial <= number)
            {
                output *= factorial;
                factorial++;
            } // end while loop
 
           
 
            long sum = 0;
            BigInteger divRem = 0;
            while (output >= 1)
            {
                divRem = output % 10;
                sum += (long)divRem;
                output /= 10;
            }
 
Програмски го пресметав

Еве го кодот (Луки ќе верификува :))

Код:
ulong factorial = 1;
            BigInteger output = 1;
            // calculate factorial
            while (factorial <= number)
            {
                output *= factorial;
                factorial++;
            } // end while loop
 
         
 
            long sum = 0;
            BigInteger divRem = 0;
            while (output >= 1)
            {
                divRem = output % 10;
                sum += (long)divRem;
                output /= 10;
            }
Значи со компјутер сте пресметале.... Добро, јас тоа не знам
 
Значи со компјутер сте пресметале.... Добро, јас тоа не знам

Да да, испрограмираш и сам го најде. Логиката у позадина за да се најде самио факториел на 100 се множат сите бројки по ред, и после на резултато секоја цифра се зима посебно и се собират на куп.
Извини за техничките термини, ќе пробам у иднина да се држам само до математика, без програмирајне..

Програмски го пресметав

Еве го кодот (Луки ќе верификува :))

Да да, и мојо код е исти само шо јас напишах 2 паблик функции и требеше да инкорпорирам БигИнтеџер длл за у C#
браво бе хакериште... Такви задачи требе да им дават на бандерашите... не да се сопкат со некакви неинтересни нешта... :icon_mrgr:
 
Eве една задача за релаксација после вчерашните маки со 100!
Најди сите парови различни природни броеви од 1 до 9 за кој важи дека нивниот производ е делив со нивниот збир.

Пример за појаснување: ( 6*3 ) / ( 6 + 3 ) = 2
 
Најди сите трицифрени броја кои ја имаат следнава особина:
Ако првата цифра ( цифрата на стотките ) ја преместиш на последно место ќе добиеш број за 25% помал од дадениот.

Пример
756............ 567
756 * 0,75 = 567
 
Еве еден мој осврт.
Ако бројот е xyz и неговиот 25% помал број е yzx, тогаш можеме да поставиме една ваква равенка:

(100x+10y+z)*0.75=100y+10z+x
75x+7,5y+0.75z=100y+10z+x
74x-92,5y-9.25z=0 / :25

2.96x - 3.7y - 0.37z=0

Од коефициентите на равенствово може да се заклучи дека x>y но не со повеќе од два разлика. Значи или 1 или 2 разлика. Преломот доаѓа кај x=5 и y=4. 2.96*5 - 3.7*4=0. Од тука се заклучува дека за x>5 разликата меѓу x и y мора да е 2, а за x<=5 разликата мора да е 1. Затоа имаме неколку комбинации за x и y:

1,0---- 2,1---- 3,2---- 4,3---- 5,4---- 6,4---- 7,5---- 8,6---- 9,7 И за секоја од овие комбинации има соодветна вредност за z. Еве ги броевите:

108
216
324
432
540
648
756
864
972
 
Да....
Со примедба дека равенката
74x-92,5y-9.25z=0
може да се подели со 9,25, па да се добие
8х = 10у + z
Како Ви се допадна задачава?
Ова е оргинална задача која јас ја составив инспириран од друга задача, која сеуште не успеаав да ја решам
Еве ја таа оргинална задача, за која немам решение
Одреди го најмалиот природен број, кој има особина да, ако цифрата на првото место се префрли на место на единиците, се добива број кој е за 50% поголем од дадениот.
 

Kajgana Shop

Back
На врв Bottom