Неделя, 20 Ноември 2011 07:42

дълги числа

Написана от 
Оценете
(0 гласа)

Да се състави програма (C++) чрез която се въвеждат две естествени числа N1,N2.
N1 е дълго число с брой цифри [10..110], a N2 е от интервала [10..99]. Да се осъществи търсене на естествено число в дълго число.
Програмата да изведе съобщение дали числото N2 се съдържа в дългото число, както и неговата позция. Да се продължи (в следващите цифри) с търсене на числото 101.
Да се изведе съобщение, ако дългото число не е цяло число, т.е. в записа му се съдържа десетична точка.
Пример: 12345671010102, 45 Изход: 4, 8, естествено число
Решение (свободен достъп)

Да се състави програма (C++), чрез която се въвежда естествено число N [1..9]. Програмата да изведе дълго число палиндром, съдържащ всички цифри от интервала [0..N].
Пример: N=5 Изход 54321012345
Решение

Фирма произвежда много интересни детайли - с двойно предназначение.
Начинът за контрол е също интересен: естествено число съдържащо много нули. Числото се формира по следния начин: цифри от интервала [1..9] означават колко детайла са произведени, следват ги толкова на брой нули, колкото е сумата на всички предходни цифри. След първите могат да следват други цифри, и отново нули, чийто брой е отново сума на групата предходни цифри.
Ако броят на нулите е по-голям от сумата на предхождащите ги цифри се извежда съобщение в коя позиция е възникнала грешката.
Да се състави програма (C++), чрез която се въвеждат дълги числа и се извежда резултат от проверката на сума от предходни цифри и следващия ги брой 0.
Пример: 120001001 Изход: Грешка в позиция 8
Решение

Имате 2 дълги рационални числа без знак N, M, всяко от които има брой цифри от интервала [2..32].
Да се създаде програма (C++), чрез която се въвеждат две дълги рационални числа и се извежда разултата от тяхното сравнение.
Пример: 23.456, 123 Изход: 23.456 < 123
Решение

Имате 2 естествени числа N, M, всяко от които има брой цифри от интервала [2..32]. Броят цифри на двете дълги числа не е непременно равен.
Да се създаде програма (C++), чрез която се въвеждат две дълги естествени числа и се извежда разултата от тяхното сравняване: по-малко, равно, по-голямо.
Пример: 23, 123 Изход: 23 < 123
Решение

Да се състави програма (C++), чрез която се въвеждат две естествени числа N, M, принадлежащи на интервала [2..2002]. Двете числа не са непременно равни.
Трябва да се изведе такова дълго естествено число, чиито цифри са съставени от всички естествени числа от интервала [N,N+1,N+2...M].
При извеждането на дългото число броят на цифрите във всеки отделен ред е <=K, където K е също естествено число от интервала [30..75].
При извеждане на дългото число не трябва да се допуска разкъсване на цифрите на поредното естествено число.
Програмата да извежда: дългото число по указания начин, както и съобщение дали числото е кратно на 3 и 6.
Пример: 24,15, 20 Изход: 15161718192021222324 Сума от цифрите на числото: 60; числото е кратно на 3 и 6
Решение

Числа, с брой цифри >30 се наричат дълги числа. Един от начините за проверка на произведение е следният:
Всеки от множителите се представя като сума от цифрите си, но сведена до 1 цифра.
Произведението на тези 2 цифри отново се редуцира до 1 цифра, която трябва да съвпада със сумата от цифрите на произведението, отново сведена до 1 цифра.
Съставете програма (C++), чрез която се въвеждат 2 естествени числа с брой цифри от интервала [30..50].
Програмата да изведе каква е цифрата от произведението им.
Пример: 111111, 222222 Изход: 9
Решение

Имате предварително въведен вектор от 15 естествени числа с брой цифри от интервала [30..50]. Програмата да изведе най-голямото число от вече въведените.
Пример: 7409488245517115276142322168576189279543;
34113874277931986502860248650900;
893446066184963788291359840763615420973726;
165754120014607177773359981826603801250;
835120164061898414398808778383710734;
1099683484992553337438088068198972;
2890781586124258626539246182119762952;
1953252586772294196982554912508393967;
769357665825441616335532825361862146291503649293;
96342887581257444442930778730382520372975343;
Изход: 769357665825441616335532825361862146291503649293
Решение

Имате естествено число N от интервала [2..2002], явяващо се степенен показател на 2. При въведено N трябва да се изведе М - целочисления остатък от деленето (2^N)/9.
Да се състави програма (C++), чрез която се въвежда степенен показател N и се извежда остатък М.
Пример: 3 Изход 8
Решение

Спомняте ли си легендата за играта шах?
В не се разказва, че откривателят на шаха поискал следната награда: ако на първото поле на шахматната дъска се сложи 1 пшенично зърно, то на всяко следващо поле да се слагат 2 пъти повече зърна от тези в предходното поле. Пример: 1,2,4,8,16.... Откривателят не обяснил, е става дума за геометрична прогресия, но вие се досещате, нали?
Да се състави програма (C++), чрез която се въвежда номер поле от шахматната дъска М - естествено число от интервала [2..102] и се извежда в двоичен вид сумата на всички сложени на дъската пшенични зърна.
Пример: 5 Изход: 11111
Решение

В поделението на дългите числа пристигнало писмо от щаба. В чест на предстоящия празник поделението трябва да излъчи един свой представител за участие в парада.
Започнал преглед на целия личен състав. Все пак е парад. Командирът, и той самия естествено дълго число, но с много деветки отляво, все кусури намира: едното число било с малко цифри, другото предимно с четни и т.н.
Накрая взел решение - ще изпрати най-дългото число, но то трябва да си подреди цифрите - нечетна цифра до четна цифра във възходящ ред. Ако единия от видовете цифри свърши се продължава с останалите.
Да помогнем на избранника!
Да се състави програма (C++), чрез която се въвежда дълго естествено число с брой цифри от интервала [10..10101].
Всички цифри в новото дълго число се подреждат в указаната последователност. Ако една от цифрите в началното дълго число е доминираща, то оставащата част от този вид цифри оформя края на числото.
Пример: 11111111110022446688 Изход: 10121416181012141618
Пример: 338814329000876818338777 Изход: 103274961830783078387838
Решение

От върха на една ела, горе в Стара планина, един орел съзрял как две дълги числа спорят кое от тях е по-голямо.
Едното било издънка на древния род на аритметичните прогресии, а другото на не по-малко славния род на геометричните прогресии.
Кацнал орелът до тях, а те го помолили да им стане арбитър. Той да каже, кое от тях е по-голямото дълго число. Всяко от числата си има личен пергамент, удостоверяващ древния им, благороден произход. В него е записано (стойност на) начален член и разлика / частно на прогресията.
Орелът ги огледал, позасмял се и взел, че отлетял. Така, само Вие може да решите спора.
Да се състави програма (C++) чрез която се въвежда Na [10..100],Ng [2..5] начален член на аритметична и геометрична прогресия и da [10..100],dg [1.2..1.9] разлика / частно на прогресията. Всяка прогресия има K [10..20] члена.
Всеки член на прогресията, приведен към по-малкото цяло число, е съставна част от съответното дълго число.
Програмата да изведе двете дълги числа и резултата от сравнението им.
Пример: Na=97;Ng=9; da=99; dg=2.9 Изход:Печели геометрична!
аритметична: 97196295394493592691790889988
геометрична:92675219636184653531552445022130564
Решение

В пощенската кутия на едно известно дълго число има покана за маскен бал.
Инициативният комитет на естествените числа кани всички свои съмишленици на пролетен бал. Желателно е всички участнци да бъдат маскирани.
Визираното дълго число, освен че било естествено, било и много суетно. Започнало едно планиране и колебаене. Как точно да бъде маскирано.
Накрая стигнало до следната идея: ще раздели цифрите си по дължина на две не непременно равни части. Във всяка от частите се запазва относителната наредба на цифрите.
Да се състави програма (C++), чрез която се въвежда естествено дълго число N с n броя цифри, както и естествено число m [2..n-2]. Програмата да изведе всички възможни дълги числа със същия брой и вид цифри, които могат да бъдат формирани при спазване на описаните условия - всяка от двете части трябва да обърне наредбата на цифрите.
Пример: 12345678 4 Изход: 43215678, 12348765, 43218765, 56781234, 87651234, 56784321, 87654321
Решение

Имате въведени две дълги естествени числа M,N с брой цифри във всяко от тях от интервала [15..25].
Да се състави програма, чрез която по въведени две дълги числа M,N се извежда най-голямото възможно число съставено от едновременно повтарящите се цифри и в двете числа.
Пример: 345667, 8999071265 Изход: 765
Решение

Както веднъж се разхождали из природата две естествени дълги числа неочаквано се срещнали. И толкова много се харесали, че решили да превърнат на дело припева на известна песен „две неща в едно”.
Имало разбира се и страхотен проблем – двете числа не били с еднакъв брой и вид цифри. За това се обърнали към Великия мъдър смърф Анна за съвет.
Смърфът усмихнато слушал числата и накрая ги успокоил. Не се притеснявайте познавам ученици, които учат информатика и те със сигурност могат да напишат следната програма:
Да се състави програма, чрез която се извършва събиране на две естествени дълги числа с брой цифри [10..99].
Пример: 996234567, 93999977 Изход: 1090234544
Решение

При връщане на ресто в магазина често се използва алгоритъм за изваждане чрез събиране.
Продавачът държи подадената банкнота и отброява рестото, като последователно добавя по-малките части от рестото. При всяко отброяване да се ползва алгоритъма изваждане чрез събиране.
Пример: сума за плащане 78, банкнота 100. Събират се 2 и 8 - закръгля се до 80, събират се 20 и 80, закръгля се до 100.
Да се състави програма, чрез която се въвеждат дълго цяло число [ 2..20000000000000002] за дължима сума, програмата генерира най-малкото число с повече цифри от въведеното и се извежда разликата между двете числа. За всеки отделен разряд на дългото число се ползва алгоритъм за изваждане чрез събиране.
Решение

През 1955 индийски математик публикува статия за естествено число, което се дели на сумата от цифрите си. Нарича ги Harshad - в превод "огромна радост". Друго популярно название за такъв вид число е k-кратно число, т.к. са k пъти по-голямо от сумата на цифрите си.
Практически k-кратно число е всяко едноцифрено число без 0. Първите двуцифрени са: 10, 12, 18, 20, 21, 24, 27, 30...
Да се състави програма (C++), чрез която се въвежда естествено число N [2..10000000000000000000000002] и като резултат се извежда дали въведеното число е k-кратно число.
Решение

Прочетена 2344 пъти Последно променена в Петък, 14 Септември 2012 12:33