Loading...
dZf1aeA-KlimentHristov avatar dZf1aeA-KlimentHristov 56 Точки

Проблем със задача Foot for Pets от Exam 28-29 March 2020

Здравейте колеги,

тази задача ми дава всички верни отговори на условията, обаче в judge ми дава 66/100 ?

Немога да разбера каде има проблем, не ми показва грешката от каде идва, като дебъгвам всичко се смята правилно.

Ето го и моя код:

package com.company;

import java.util.Scanner;

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

        double days = Integer.parseInt(scan.nextLine());
        double food = Double.parseDouble(scan.nextLine());

        double dogFood = 0;
        double sumDogFood = 0;

        double catFood = 0;
        double sumCatFood = 0;

        double biscuits = 0;
        double sumFood = 0;

        for (int i = 1; i <= days; i++){
            dogFood = Integer.parseInt(scan.nextLine());
            catFood = Integer.parseInt(scan.nextLine());
            sumDogFood = sumDogFood +dogFood;
            sumCatFood = sumCatFood +catFood;
            sumFood = sumFood+(dogFood+catFood);
            if (i == 3){
                biscuits = (dogFood+catFood)*0.1;
            }
        }
        sumDogFood = (sumDogFood/sumFood)*100;
        sumCatFood = (sumCatFood/sumFood)*100;
        sumFood = (sumFood/food)*100;

        System.out.printf("Total eaten biscuits: %.0fgr.%n",biscuits);
        System.out.printf("%.2f%% of the food has been eaten.%n", sumFood);
        System.out.printf("%.2f%% eaten from the dog.%n",sumDogFood);
        System.out.printf("%.2f%% eaten from the cat.%n",sumCatFood);
    }
}

 

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

При проверката на бисквитките трябва да не е само на третия ден както си го написал ти , а на всеки трети  Трябва да е : 

if (i % 3 == 0){

biscuits += (dogFood+catFood)*0.1;

}

0
dZf1aeA-KlimentHristov avatar dZf1aeA-KlimentHristov 56 Точки

Промених го ама отново 66/100 .. не дава 100.

0
pl.dragiev avatar pl.dragiev 3 Точки

  

Ето този код дава 100/100:

Нищо друго не съм променял : 

import java.util.Scanner;

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

        double days = Integer.parseInt(scan.nextLine());
        double food = Double.parseDouble(scan.nextLine());

        double dogFood = 0;
        double sumDogFood = 0;

        double catFood = 0;
        double sumCatFood = 0;

        double biscuits = 0;
        double sumFood = 0;

        for (int i = 1; i <= days; i++){
            dogFood = Integer.parseInt(scan.nextLine());
            catFood = Integer.parseInt(scan.nextLine());
            sumDogFood = sumDogFood +dogFood;
            sumCatFood = sumCatFood +catFood;
            sumFood = sumFood+(dogFood+catFood);
            if (i % 3 == 0){
                biscuits += (dogFood+catFood)*0.1;
            }
        }
        sumDogFood = (sumDogFood/sumFood)*100;
        sumCatFood = (sumCatFood/sumFood)*100;
        sumFood = (sumFood/food)*100;

        System.out.printf("Total eaten biscuits: %.0fgr.%n",biscuits);
        System.out.printf("%.2f%% of the food has been eaten.%n", sumFood);
        System.out.printf("%.2f%% eaten from the dog.%n",sumDogFood);
        System.out.printf("%.2f%% eaten from the cat.%n",sumCatFood);
    }
}

1
06/04/2020 09:51:28
dZf1aeA-KlimentHristov avatar dZf1aeA-KlimentHristov 56 Точки

Грешката ми беше, че не ги изчислявам за кратко направо на конзолата, а първо си ги бях направил на отделно променливите за накрая, от там нещо не съм го доискусурил и сега с твоята поправка стана.

 

Благодаря колега +1 :)

0
06/04/2020 11:26:33
NikiKa avatar NikiKa 15 Точки

също 100/100

import java.util.Scanner;

public class FoodforPets {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int days = Integer.parseInt(scanner.nextLine());
        double totalFoods = Double.parseDouble(scanner.nextLine());
        int daysCount = 0;
        int dogTotalFood = 0;
        int catTotalFood = 0;
        double cookiesTotal = 0;
        double cookies = 0;
        double dayFood = 0;
        double currentFood=0;

        for (int day = 1; day <= days; day++) {
            daysCount++;
            int dogFood = Integer.parseInt(scanner.nextLine());
            int catFood = Integer.parseInt(scanner.nextLine());
            dogTotalFood += dogFood;
            catTotalFood += catFood;
            dayFood = dogFood + catFood;
            if (daysCount == 3) {                           // може да заместиш с (daysCount % 3==0)
                cookies = dayFood * 0.10;
                cookiesTotal += cookies;
                daysCount = 0;                              // и да махнеш това.
            }
            currentFood+=dayFood;
        }
        System.out.printf("Total eaten biscuits: %dgr.%n", Math.round(cookiesTotal));
        System.out.printf("%.2f%% of the food has been eaten.%n",(currentFood/totalFoods)*100);
        System.out.printf("%.2f%% eaten from the dog.%n",(dogTotalFood/currentFood)*100);
        System.out.printf("%.2f%% eaten from the cat.%n",(catTotalFood/currentFood)*100);
    }
}

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