Loading...
vikirina avatar vikirina 3 Точки

Задачи от упражнението за "Вложени цикли" на JAVA

Изпуснах упражнението за вложени цикли и се спъвам на 3 от задачите .

1.Матрица

7.Сума прости / непрости числа

11. Мания по пазаруване,

Някой може ли да подскаже нещо ?

За първата задача нужен ли е масив или трябва да се въртят цикли ?

Предварително благодаря.

Мога да дам решението на другите задачи.

Тагове:
0
Programming Basics with Java
vikirina avatar vikirina 3 Точки

Не знам къде греша ... 70/100.

Задача сума прости/непрости числа:


import java.util.Scanner;

public class Live_train_7_Sum_Prime_Non_Prime_NE {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        String number = sc.nextLine();

        int sumProsti = 0;
        int sumNeprosti = 0;
        int counter = 0;

        while (!"stop".equals(number)) {

            int n = Integer.parseInt(number);

            if (n < 0) {
                System.out.print("Number is negative.");
            }

            if (n == 0 || n == 1) {
                sumNeprosti += 0; // не знам защо не става с continue
            }

            if (n == 3) {
                sumProsti += 3;
            }

            int m = (int) Math.sqrt(n);

            if (n >= 2 && n != 3) {

                for (int i = 2; i <= m; i++) { 
                  
                    if (n % i == 0) {
                        counter++;
                    }
                }
                if (counter != 0) {
                    sumNeprosti += n;
                    counter = 0;
                } else {
                    sumProsti += n;
                }
            }


            number = sc.nextLine();
        }

        System.out.printf("\nSum of all prime numbers is: %d", sumProsti);
        System.out.printf("\nSum of all non prime numbers is: %d", sumNeprosti);
    }
}
0
Tarantula83 avatar Tarantula83 3 Точки

Ето едно решение колега може би ще намериш какво пропускаш :

import java.util.Scanner;

public class SumPrime {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        String input = scanner.nextLine();
        int sumPrime = 0;
        int sumNonprime = 0;

        while (!"stop".equals(input)) {

            int num = Integer.parseInt(input);
            int count = 0;

            for (int i = 2; i <= num/2; i++) {

                if (num % i == 0) {
                    count++;
                    break;
                }

            }

            if ( num < 0 ) {
                System.out.println("Number is negative.");
            } else if ( count > 0 || num == 1) {
                sumNonprime+=num;
            } else {
                sumPrime+=num;
            }

            input = scanner.nextLine();


        }

        System.out.printf("Sum of all prime numbers is: %d\n", sumPrime);
        System.out.printf("Sum of all non prime numbers is: %d", sumNonprime);

    }
}
0
vikirina avatar vikirina 3 Точки

Зануляването на брояча при теб е ведна след прочитане на числото . Самото ти решение е по-просто. :)  

Благодаря!

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.