Вписване в сайта



Вторник, 23 Август 2011 15:24

Решения на задачи със списък

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

Структура списък - решени задачи

четни и нечетни числа

Да се състави програма, чрез която се въвеждат естествено число N, принадлежащо на [1000..10000].
Програмата да изведе и запише в структура списък N броя псевдослучайни числа от интервала [100..1000].
Да се изведе съдържанието на списъка по реда на въвеждането му.
Да се изведе повторно съдържанието на списъка като:
първо се извеждат всички четни числа във възходящ ред, а след това всички нечетни числа също във възходящ ред.
Пример: 15 Изход: 141; 567; 134; 500; 369; 524; 778; 658; 962; 264; 405; 345; 881; 727; 161;
След сортиране: 134; 264; 500; 524; 658; 778; 962; 141; 161; 345; 369; 405; 567; 727; 881;

Решение (свободен достъп)

промяна на стойност

По въведено естествено число N от интервала [10..1000010], да се изведат и запишат в списък N броя псевдо случайни числа от интервала [100..999].
По въведено второ естествено число M от интервала [1..N] стойността от списъка в позиция M да се промени на M*M.
Да се изведе актуализираното съдържание на списъка.
Пример: N=10, M=5 Изход: 141; 567; 134; 500; 369; 524; 778; 658; 962; 264;
След обработка: 141; 567; 134; 500; 25; 524; 778; 658; 962; 264; 369;

Решение

минималния елемент

Да се състави програма, чрез която се въвежда естествено число N от интервала [10..100].
Да се генерират N броя псевдослучайни естествени числа от интервала [1..1000].
Числата да бъдат записани в едносвързан списък. Програмата да изведе: всички елементи на списъка по реда на въвеждането им, минималния елемент и средната стойност на въведените елементи.
Пример: 10 Изход: генерирани числа: 42 468 335 501 170 725 479 359 963 465
минималния елемент е:42; средна стойност 450.7

Решение

минимален брой събираеми

Да се състави програма, чрез която се въвежда естествено число N от интервала [10..100].
Да се генерират N броя псевдослучайни естествени числа от интервала [1..1000].
Числата да бъдат записани в едносвързан списък. Програмата да изведе всички елементи на списъка по реда на въвеждането им и тяхната обща сума.
Сумата да бъде представена и като сума от минимален брой събираеми, представляващи произведения от степени на 11.
Пример: 10 Изход: генерирани числа: 42 468 335 501 170 725 479 359 963 465
Обща сума = 4507 = 3*1331 + 4*121 + 2*11 + 8*1

Решение

делители на число

Да се състави програма, чрез която се въвежда естествено число N от интервала [2...15].
Програмата да генерира, изведе и запише в списък N броя псевдослучайни едноцифрени числа.
От всички въведени цифри да се формира ново естествено число M.
Да се изведат всички делители на новото число M или съобщение, че въведеното число е просто.
Пример: N=5; Изход: 97257;
делители: 3 и 32419; 17 и 5721; 51 и 1907

Решение

сума на елементи

Да се състави програма, чрез която се въвежда естествено число N от интервала [5..105].
Програмата да генерира, изведе и запише в списък N броя псевдослучайни числа от интервала [1..1001].
Към всяко четно число от списъка да се добави 1 и отново да се изведе съдържанието на списъка.
Да се изведе общата сума на новите елементи в списъка.
Пример: N=10
Начално състояние: 42 468 335 501 170 725 479 359 963 465
След обработване: 43 469 335 501 171 725 479 359 963 465
обща сума на елементи: 4510

Решение

сито на Ератостен

Да се състави програма, чрез която се въвежда естествено число N от интервала [10..10000001].
Програмата да изведе и запише в структура списък всички прости числа от интервала [2..N].
Използвайте алгоритъм "сито на Ератостен" за формиране елементите на списъка.
Пример: N=64
Изход: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61

Решение

равни и близки стойности

Да се състави програма, чрез която се въвеждат 2 естествени числа N и M, принадлежащи на [5..105].
Програмата да изведе и запише в структура списък N броя псевдослучайни числа от интервала [0..101].
От списъка да бъдат изтрити всички елементи с равни и близки стойности, чиято разлика между стойностите не надвишава числото M.
Да се изведе новото съдържание на списъка.
Пример N=20, M=5
Изход: 72; 66; 93; 59; 85; 26; 93; 10; 51; 58; 32; 11; 49; 87; 70; 31; 24; 26; 21; 12;
След изтриване на равни и близки стойности: 10; 21; 31; 49; 59; 70; 85;

Решение

последователност от скоби

В алгебричен израз чрез последователност скоби се указва приоритет за изпълнение на отделните действия. Правилният запис изисква броят на левите и десните скоби да е еднакъв.
Друго задължително изискване за правилната последователност от скоби е броят на левите скоби да не превишава броят на десните в нито една част на израза. Двойките, отваряща и затваряща, скоби могат да се комбинират по различни начини.
Пример:
1 двойка (); 1 начин
2 двойки () (); (()); 2 начина
3 двойки: ((())); ()(()); ()()(); (())(); (()()); 5 начина
Да се състави програма, чрез която в списък се записват всички верни последователности от 1..35 двойки скоби и по въведено число N се извежда броят верни последователности.

Решение

равно отдалечени елементи

Да се състави програма, чрез която се въвеждат естествено число N, принадлежащо на [5..105]. Програмата да изведе и запише в структура списък N броя псевдослучайни числа от интервала [0..101].
Да се изведе съдържанието на списъка по реда на въвеждането му. Елементите в списъка да бъдат сортирани във възходящ ред и изведени по двойки.
Във всяка двойка елементите са равно отдалечени от средата на списъка. Да се изведе и сумата на всяка двойка елементи.
Пример: 10 Изход: 41; 47; 34; 40; 29; 4; 18; 18; 22; 44;
След сортиране:
суми на равно отдалечени елементи: 4 + 47 = 51; 18 + 44 = 62; 18 + 41 = 59; 22 + 40 = 62; 29 + 34 = 63

Решение

максимална повърхнина

По въведено име на файл с директен достъп се записват данни за основни ръбове и апотема на страна за N броя пресечени правилни четириъгълни пирамиди. h е апотема на околна страна,a и b са дължини на основни ръбове. Всички те са естествени числа от интервала [1..99]. Програмата да чете данните от файла и да ги записва в структура списък. Да се изведе изчислената максимална пълна околна повърхнина на пресечена пирамида. Пример: N=5 Изход: a=60;b=41;h=9;a=1;b=56;h=76;a=78;b=41;h=29;a=31;b=13;h=75;a=34;b=15;h=23; максимална повърхнина S: 14667 за: a=78, b=41, h=29

Решение

прости и съставни числа

Да се състави програма, чрез която се въвежда естествено число N от интервала [2..1000002].
Програмата да генерира N броя псевдослучайни числа от интервала [2..1000002] и да ги запише в списък.
Да се изведат две отделни наредени редици. Първата редица съдържа всички прости числа измежду въведените, а втората останалите съставни числа.
Пример: N=10. Изход: 19118; 2650; 11912; 27141; 2453; 26460; 5456; 32648; 18134
прости числа: 19993
съставни числа: 2453; 2650; 5456; 11912; 18134; 19118; 26460; 27141; 32648

Решение

триъгълник на Паскал

Да се състави програма, чрез която се въвежда естествено число N от интервала [2..55]. Програмата да изведе съответните коефициенти на бинома (x+1) повдигнат на степен N.
Изчислените биномни коефициенти са елементи от триъгълник на Паскал и се съхраняват в списък. Пример: N=4 Изход:
степен 0: 1
степен:1: 1 1
степен:2: 1 2 1
степен:3: 1 3 3 1
степен:4: 1 4 6 4 1
Указание: всеки ред от триъгълника на Паскал с номер 2 и по-голям се извежда от предходния ред. Елементите са сума от съответните два елемента от предходния ред.

Решение

изтриване на елемент

Да се състави програма, чрез която се въвеждат две естествени числа N и M от интервала [5..105], като N>M.
Програмата да генерира, запише в първи списък и изведе N броя трицифрени псевдослучайни. Да се генерират и запишат във втори списък M числа, които представляват номера на елементи от първия списък.
Във втория списък да се отстранят всички повтарящи се стойности.
Да се изведат всички стойности от първия списък, които трябва да се изтият, както и актуализираното състояние на първия списък след изтриване на указаните елементи.
Пример: N=6 M=2 Изход:
първи списък: 1:749; 2:874; 3:606; 4:782; 5:670; 6:218;
втори списък с номера за изтриване: 6,4
съдържание на списъка след изтриване на елементи: 1:749; 2:874; 3:606; 4:670

Решение

изтриване на равни елементи от два списъка

Да се състави програма, чрез която се въвеждат две естествени числа N и M от интервала [5..105]. Програмата да генерира, запише в списък и изведе две редици от псевдо случайни трицифрени числа.
Да се изтрият равните елементи - числа, както от всеки списък, така и принадлежащите и на двата списъка. Да се изведе актуализираното съдържание на списъците. Пример: N=10, M=10 Изход:
Списък I: 1:104; 2:108; 3:119; 4:120; 5:125; 6:129; 7:132; 8:135; 9:137;
Списък II: 1:104; 2:109; 3:119; 4:126; 5:127; 6:131; 7:137; 8:147; 9:148;
изтриване на равни елементи: 104, 119, 137
Съдържание на двата списъка:
1:108; 2:120; 3:125; 4:129; 5:132; 6:135;
1:109; 2:126; 3:127; 4:131; 5:147; 6:148;

Решение

вмъкване на елементи

Да се състави програма, чрез която се въвежда естествено число N от интервала [5..105].
Програмата да генерира, запише в списък и изведе N броя от псевдо случайни трицифрени числа.
Списъкът да се сортират във възходящ ред, като се изтрият равните стойности. Останалите елементи на списъка да се разглеждат по съседство два по два. Всяка двойка от тях формира граница на даден интервал.
Програмата да вмъкне в списъка нови елементи - всички числа, принадлежащи на тези граници.
Пример: N=5 Изход: 107; 126; 112; 101; 104
След сортиране: 101, 104; 107, 112; 126
След вмъкване на новите елементи: 101, 102, 103, 104, 107, 108, 109, 110, 111, 112, 126

Решение

дълго число като сума от произведения

Входни данни: естествено число N от интервала [5..105].
Програмата да генерира, запише в списък и изведе дълго число с N броя от псевдо случайни цифри.
Да се формира най-голямото естествено дълго число със същите цифри и да се изведе като сума от произведения на два множителя. Първият множител е число с еднакви цифри, а втоеият е степен на 10.
Пример: N=25 Изход:2314157164412561695429100
дълго число като сума от произведения: 9976665554444322211111100 = 99*10^23 + 7*10^22 + 666*10^19 + 555*10^16 + 4444*10^12 + 3*10^11 + 222*10^8 + 111111*10^2

Решение

палиндром със същите цифри

Входни данни: естествено число N от интервала [2..10002].
Програмата да генерира, запише в списък и изведе дълго число с N броя от псевдо случайни цифри.
Да се изведе възможно най-късия палиндром - естествено число, което има всички по брой и вид цифри.
Пример: N=12 Изход: 773630402697
най-къс палиндром със същите цифри: 977643020346779

Решение

списък_промяна_стойности

Входни данни: естествено число N от интервала [10..1010].
Програмата да генерира, запише в списък и изведе N броя от псевдо случайни трицифрени числа.
Всички елементи на списъка да променят, увеличат стойността си с поредния си номер.
Пример: N=10 Изход: 614 597 138 893 352 517 528 428 314 395
след промяна стойности на елементите: 615 599 141 897 357 523 535 436 323 405

Решение

елементи на кратна позиция

Входни данни: две естествени числа N и M от интервала [10..1010].
Програмата да генерира, запише в списък и изведе всички естествени числа от интервала [1..N]. Числото M Да се изтрият последователно всички елементи от началния списък, намиращи на позиция, кратна на M.
Процесът на изтриване на числата продължава, докато броя елементи в началния списък стане M-1.
Пример: N=64, M=10 Изход: първите няколко изтрити елемента са: 10 20 30 40 50 60 6 17 28 39 51 62 9 22....
след изтриване на всички елементи на кратна позиция са останали: 2 3 18 32 36 42 45 47 59

Решение

сортиране чрез пряко вмъкване

По въведено естествено число N от интервала [5..105], програмата да генерира, изведе и запише в списък N броя трицифрени числа.
Да се илюстрира алгоритъм за сортиране - пряко вмъкване, т.е. последователно всеки нов елемент се вмъква на подходящото място спрямо предходните елементи от списъка.
Пример: N=10 Изход: 548 335 491 122 507 889 896 397 708 203
548
335 548;
335 491 548;
122 335 491 548;
122 335 491 507 548;
122 335 491 507 548 889;
122 335 491 507 548 889 896;
122 335 397 491 507 548 889 896;
122 335 397 491 507 548 708 889 896;
122 203 335 397 491 507 548 708 889 896;

Решение

общ брой инверсии

По въведено естествено число N от интервала [5..105]. програмата да генерира, изведе и запише в списък N броя трицифрени числа.
Да се изведе съобщение дали списъкът е сортиран във възходящ ред.
Ако не е, да се изведат брой инверсии в списъка, т.е. колко броя елементи с по-висока стойност са пред елементи с по-малка стойност.
Пример: N=10 Изход: 285, 257, 397, 589, 842, 805, 678, 907, 194, 650;
общ брой инверсии в списъка: 16

Решение

сума от степени

По въведено естествено число N от интервала [2..10002] програмата да генерира, изведе и запише в списък дълго число с N броя цифри.
Второто въведено естествено число е M от интервала [2..10002]. Програмата да представи числото N като сума от произведения на степени, съдържаща минимален брой елементи. Всички те са елементи на списък.
Единият множител е уникална степен на M, а другият число от интервала [0..M-1].
Пример: N=10; M=9; Изход: дълго число 1316598806
сума от степени :3*9^9 + 3*9^8 + 5*9^7 + 2*9^6 + 3*9^5 + 6*9^4 + 4*9^3 + 0*9^2 + 2*9^1 + 2*9^0

Решение

кратно на 11

Да се състави програма, чрез която се въвежда естествено число N от интервала [5..100005].
Програмата да генерира дълго число съдържащо N броя цифри и да го записва в списък.
Да се изведе резултата от проверката дали дългото число е кратно на 11, 44, 55 или 66.
Пример: N=16 Изход: 1590180812399652
кратно на 11
кратно на 44
не е кратно на 55
кратно на 66

Решение

умножение на два полинома

Да се състави програма, чрез която се въвеждат две естествени числа N и M от интервала [2..4004].
Програмата да генерира 2 редици съдържащи съответни N и M броя псевдослучайни естествени числа и да ги записва в списък.
Числата, елементи на списъка, представляват коефициенти пред съответните степени на два полинома.
Да се изведе резултата от умножение на двата полинома.
Пример: N=5; M=3 Изход:
Коефициенти в полином 1: 8 39 10 60 21 37
Коефициенти в полином 2: 5 54 1 17
резултат от умножение на двата полинома: 40 627 2164 1015 4018 1549 3039 394 629

Решение

степенуване на полином

По въведени две естествени числа N и M от интервала [2..12] програмата да генерира и запише в списък N броя псевдослучайни естествени числа.
Числата, елементи на списъка, представляват коефициенти пред съответните степени на полином.
Числото N дава най-високата степен в полинома, а M на коя степен се повдига, степенува полинома.
Да се изведе резултата от степенуване на въведения полином.
Пример: N=1; M=10 Изход:
Коефициенти в полином: 1, 1
резултат след степенуване на полином: 1 10 45 120 210 252 210 120 45 10 1

Решение

точки и триъгълник

Да се състави програма, чрез която се въвеждат координатите на N броя точки.
N е естествено число от интервала [3..1003], а координатите на точките са естествени числа от интервала [0..99].
Координатите на всяка точка се записват във файл. Програмата да прочете информацията от файла и да я запише в структура списък.
Да се изведе триъгълника с най-голямото лице, чийто върхове са кои да е три съседни точки от списъка.
Пример: N=6 точки: 78, 87; 55, 77; 90, 12; 89, 89; 61, 58; 29, 6
най голямо лице е S = 1315 на триъгълник с върхове точки: 55,77; 90,12; 89,89

Решение

върхове на квадрат

Да се състави програма, чрез която се въвеждат координатите на N броя точки.
N е естествено число от интервала [3..1003], а координатите на точките са естествени числа от интервала [0..99].
Координатите на всяка точка са записани във файл. Програмата да прочете информацията от файла и да я запише в структура списък.
Да се изведат всички двойки точки, които представят диагонал на квадрат.
Пример: N=10 точки: 66,88; 86,8; 36,49; 17,25; 17,79; 2,96; 50,46; 81,38; 37,72; 59,94
Изход:
квадрат с върхове 17,79; 50,46; е с лице: 1089
квадрат с върхове 37,72; 59,94 е с лице: 484

Решение

цифри на дълго число

Да се състави програма, чрез която се въвежда естествено число N от интервала [25..1000002]. Програмата да генерира дълго число с N броя псевдослучайни цифри и да го запише в структура списък.
Да се изведе огледалното представяне на дългото число, както и броя на отделните цифри.
Пример: N=25 дълго число: 3960542981778178807045614
огледално дълго число: 4165407088718771892450693
въведеното дълго число има следния по брой и вид цифри:
9*2 + 8*4 + 7*4 + 6*2 + 5*2 + 4*3 + 3*1 + 2*1 +1*3 +0*3

Решение

равни суми

Да се състави програма, чрез която се въвежда естествено число N от интервала [10..10000]. Програмата да генерира и запише в списък N броя псевдослучайни числа от интервала [10..100].
Числата представляват стойности, които трябва да се разделят по равно, на две равни суми.
Да се изведе резултат от проверката дали е възможно елементите на списъка да формират две равни суми, т.е. дали предметите могат да бъдат разделени на две групи с максимална разлика 1 в крайните суми.
Пример: N=11 числа: 67, 52, 97, 36, 35, 84, 61, 75, 85, 55, 77 = 724
I-ва част: 75, 35, 36, 97, 52, 67 = 362
II-ра част: 85, 55, 77, 61, 84 = 362

Решение

първия ред от файл

Съществува предварително сортиран текстов файл. Да се състави програма, чрез която се чете началния файл и се записва съдържанието му в структура списък.
Програмата да изведе в друг файл само първия ред от множество съседни редове, чийто леви N знака са повтарящи се леви N знака за 2 и повече съседни реда.
Максималната дължина на ред е 256 символа, N е естествено число от интервала [1..20].
Примерна последователност за N=4: abcd111, abcd2222,abcd333
Изход: abcd111

Решение

прости делители

Да се състави програма, чрез която се записват във файл N броя псевдослучайни естествени числа от интервала [100..10000]. N е естествено число от интервала [3..1003].
Програмата да запише в структура списък всички числа от файла и да изведе: уникалните прости делители на прочетените числа, сумата от простите делители, както и сумата на нейните уникални прости делители.
Пример: N=5 Изход: 5809, 8431, 9926, 1147,
сума на прости делители: 2, 7, 31, 37, 157, 709, 4073, 8431 = 13447
сума на уникални прости делители: 13447: 7+17+113 = 137

Решение

сортиране на файл

Да се състави програма, чрез която се записват във файл N броя реални числа. N е естествено число от интервала [3..1003].
Програмата да запише в структура списък всички числа от файла и да ги изведе, сортирани във възходящ ред, в нов файл.
Пример: N=7 Изход: 155.99;174.27;145.12;371.06;105.72;293.22;160.96
след сортиране на файла: 105.72;145.12;155.99;160.96;174.27;293.22;371.06

Решение

естествено число в код на Грей

Да се състави програма, чрез която се въвеждат естествено число N, принадлежащо на интервала [5..105]. Програмата да изведе и запише в структура списък N броя псевдослучайни числа от интервала [0..101]. Въведените числа да се представят и в код на Грей.
Да се изведе съдържанието на списъка по ред обратен на въвеждането му по следния начин: въведеното число в 10-ична и 2-ична бройна система, същото число в код на Грей в 10-ична и 2-ична бройна система.
Пример: 4 Изход: 47; 34; 40; 29;
число 29 = 11101; в код на Грей 19 = 10011
число 40 = 101000; в код на Грей 60 = 111100
число 34 = 100010; в код на Грей = 110011
число 47 = 101111; в код на Грей = 111000

Решение

минимален остатък

Съществуват две групи правоъгълници A и B с размери на страните естествени числа. Размерите не са непременно различни..
Трябва да се изберат такива двойки правоъгълници от двете групи, че да същестува минимален остататък при наслагването им.
Да се състави програма, чрез която се въвеждат две естествени числа N>M. Програмата да генерира съответно N и M двойки естествени числа, които да се записват в списък..
Да се изведе резултата от подбора на възможните двойки, така че да съществува минимален остатък при изрязване на правоъгълник от първата група на съответен правоъгълник от втората група..
Пример: N=8, M=3
списък 1: 872,760; 359,136; 854,837; 880,805; 994,905; 357,141; 323,310; 791,360;
списък 2: 954,873; 839,108; 765,359;
минимален остатък: 994,905>=954,873;
минимален остатък: 854,837>=839,108;
минимален остатък: 791,360>=765,359;
оставащи в списък 1: 323,310; 357,141; 359,136; 872,760; 880,805;

Решение

Да се състави програма (C++), чрез която се въвежда естествено число N от интервала [5..1005].
Програмата да генерира N броя псевдослучайни естествени числа от интервала [10..99] и да ги запише в списък.
Тези числа са елементи от 1-вия ред на квадратна таблица.
Да се изведат останалите N-1 реда на таблицата, като във всеки следващ ред новите числа са преместени с 1 позиция наляво.
Първото число на предходния ред е заело последната позиция.
Програмата да изведе всички редове на квадратната таблица.
Пример: N = 6, числа: 68 60 14 69 58 82 Изход:
68 60 14 69 58 82;
60 14 69 58 82 68;
14 69 58 82 68 60;
69 58 82 68 60 14;
58 82 68 60 14 69;
82 68 60 14 69 58;

Решение
Прочетена 8318 пъти Последно променена в Петък, 14 Септември 2012 12:01