Имам затруднения с техническото изпълнение на задачата Prime Triangle. Ето как изглежда моят примерен алгоритъм:
Read int n from the console;
Create array of integers called list with length n;
Create array of integers called binary length n, filled with 1;
Check each element from the list if its prime:
if no change the corresponding binary value to 0;
Cut off all 0 from the end of the binary array;
Print the prime triangle with 2 nested loops;
И моят код, който при проверката на прости числа при n>=9 не приписва правилните стойности в binary. Стигнах до извода, че грешката ми най-вероятно е индексирането на binary, но не мога да измисля как да го променя.
Хванала си идеята , но алгоритъмчето за прости числа не ти е много съгласно да работи правилно,
виж това:
четеш входа,
правиш лист (можеш да си адднеш 1 ръчно и да въртиш от 1) , вдигни scope-a на променливите, като ги изнесеш горе при листа ( j , k ) https://pastebin.com/u7WZQp3F
след това притиш схемичката
P.S.
Advanced tip: Пробвай да изнесеш принтирането с 2-та фор цикъла във метод(функция или както там се нарича на този език ) и да го преизползваш в бъдеще
Поздрави, Успех!
Много благодаря за насоките
Със сигурност не бих се сетила сама за този начин. В кодът, който си ми пратил с проверката добавих и 1 като просто число понеже така е в условието. Може би не по най-оптималния начин стигнах до правилна бинарна редица, която да отразява простите и непростите числа. Сега обаче се появи трудност с принтирането на триъгълника. Не използвам функции понеже не съм ги учила още. В условието всеки ред завършва с просто число, а при мен излизат и 0лите. Ще се радвам на съвет и тук.
Благодаря предварително!
Здравей Моника,
Приложено ти изпращам идея, как може да принтираш list-a с prime numbers.
List-a който принтирам в примера съдържа Prime числа, така че ще трябва да закоментираш:
Преди малко попаднах на тази задачка и с изумление установих че 1 се приема за просто число. За мен това е грешно. Мисля е задачата трябва да се коригира.
Здравей, @svetlio, благодаря за навременната забележка. Вкарахме пояснение в условието, което, въпреки че нарушава фундаментални математически закони, адресира проблема с числото 1.