Привет,
Имам затруднения с техническото изпълнение на задачата 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, но не мога да измисля как да го променя.
https://pastebin.com/GD7zyMPX
Благодаря предварително за съдействието!
Моника
Здравей,
Хванала си идеята , но алгоритъмчето за прости числа не ти е много съгласно да работи правилно,
виж това:
- четеш входа,
- правиш лист (можеш да си адднеш 1 ръчно и да въртиш от 1) , вдигни scope-a на променливите, като ги изнесеш горе при листа ( j , k )
https://pastebin.com/u7WZQp3F
- след това притиш схемичката
P.S.
Advanced tip: Пробвай да изнесеш принтирането с 2-та фор цикъла във метод(функция или както там се нарича на този език ) и да го преизползваш в бъдеще
Поздрави, Успех!
Много благодаря за насоките
Със сигурност не бих се сетила сама за този начин. В кодът, който си ми пратил с проверката добавих и 1 като просто число понеже така е в условието. Може би не по най-оптималния начин стигнах до правилна бинарна редица, която да отразява простите и непростите числа. Сега обаче се появи трудност с принтирането на триъгълника. Не използвам функции понеже не съм ги учила още. В условието всеки ред завършва с просто число, а при мен излизат и 0лите. Ще се радвам на съвет и тук.
Благодаря предварително!
https://pastebin.com/D7P0fbxe
Моника
Здравей Моника,
Приложено ти изпращам идея, как може да принтираш list-a с prime numbers.
List-a който принтирам в примера съдържа Prime числа, така че ще трябва да закоментираш:
for (int q = 0; q <list.size() ; q++) {
if(list.get(q)!=0){
list.set(q, 1);
}
https://pastebin.com/k6j32jms
Поздрави,
Мишо