Премини към съдържанието

Препоръчан отговор


Дроби

Дадени са две дроби a/b и c/d. Намерете техния сбор ако знаете, че той е цяло число. 

Искаме да въвеждаме
Единственият ред съдържа четири цели числа - a, b, c, d, (0 < a, b, c, d < 1000) 


Искаме да извежда
Отпечатайте едно число - сбора на двете дроби. 

Ако може някой да помогне ще съм много благодарна:)

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Ей я дайте пример че нещо не мога да го схвана това?

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 8 минути, maria.daskalova написа:

Пример 1

 

Вход

1 2 3 2
Изход

2
Пример 2
Вход

1 7 6 7
Изход

1
 

Тоест 1,5+1,0=2 ли ?

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 20 часа, maria.daskalova написа:

Дадени са две дроби a/b и c/d. Намерете техния сбор ако знаете, че той е цяло число. 

Използваме формулата:

a/b + c/d = (ad)/(bd) + (bc)/(bd) = (ad+bc)/(bd)

След въвеждането на a, b, c, d

изчисляваме (a*d + b*c) / (b*d)

 


Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Така ето го и кода не зная дали е решение

package Math;

import java.util.*;


public class Math {

	public static void main(String[] args) {

		double a,b,c,d,result;
		
		Scanner in = new Scanner(System.in);
		
		System.out.println("Enter a =");
		a = in.nextDouble();
		
		System.out.println("Enter b =");
		b = in.nextDouble();
		
		System.out.println("Enter c =");
		c = in.nextDouble();
		
		System.out.println("Enter d =");
		d = in.nextDouble();
		
		result = (a*d + b*c) / (b*d);
		
		System.out.println("Result = " +result);

	}

}

И Весела Коледа

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 12 часа, petie1 написа:

Така ето го и кода не зная дали е решение


package Math;

import java.util.*;


public class Math {

	public static void main(String[] args) {

		double a,b,c,d,result;
		
		Scanner in = new Scanner(System.in);
		
		System.out.println("Enter a =");
		a = in.nextDouble();
		
		System.out.println("Enter b =");
		b = in.nextDouble();
		
		System.out.println("Enter c =");
		c = in.nextDouble();
		
		System.out.println("Enter d =");
		d = in.nextDouble();
		
		result = (a*d + b*c) / (b*d);
		
		System.out.println("Result = " +result);

	}

}

И Весела Коледа

Здравейте, 

Няколко бележки по кода:

1) Входа е специфициран да е "поредица" от числа и то във формата, в който се третират входните аргументи от

String[] args

Може да се използват args наготово с Parse-ване, или просто да се остави Scanner-а, който да ги чете (без тези подканващи съобщения). Ако останете със Scanner-а, то той трябва да се затвори, след като сме приключили изчитането на данните.

2) По изискване, резултата се очаква да е цяло число - имаме ли проверка, че това наистина ще е така ? 

3) Къде правим проверка на входните данни дали са правилен брой и тип ? Както са дефинирани като double, спокойно a, b, c и d мога да се сложат като -0.5, 0.34, 3.14 и т.н., което троши условието за входа:

Цитат

Искаме да въвеждаме
Единственият ред съдържа четири цели числа - a, b, c, d, (0 < a, b, c, d < 1000) 

 Дали a, b, c и d не трябва да са друг тип и да имат още проверки ?

4) Като генерален подход, решението е специфично за събиране на 2 дроби - добре е, когато мислим решения, да мислим в перспектива - дали ще можем да съберем 3, 4, ... N дроби ? В случая, може спокойно да помислим как да третираме въпросните променливи от входа като множество двойки от дроби за събиране (примерно 2 отделни масива, които да държат числителите и знаменателите или 2 отделни колекции). 

Поздрави !

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 43 минути, soundtracker написа:

Здравейте, 

Няколко бележки по кода:

1) Входа е специфициран да е "поредица" от числа и то във формата, в който се третират входните аргументи от


String[] args

Може да се използват args наготово с Parse-ване, или просто да се остави Scanner-а, който да ги чете (без тези подканващи съобщения). Ако останете със Scanner-а, то той трябва да се затвори, след като сме приключили изчитането на данните.

2) По изискване, резултата се очаква да е цяло число - имаме ли проверка, че това наистина ще е така ? 

3) Къде правим проверка на входните данни дали са правилен брой и тип ? Както са дефинирани като double, спокойно a, b, c и d мога да се сложат като -0.5, 0.34, 3.14 и т.н., което троши условието за входа:

 Дали a, b, c и d не трябва да са друг тип и да имат още проверки ?

4) Като генерален подход, решението е специфично за събиране на 2 дроби - добре е, когато мислим решения, да мислим в перспектива - дали ще можем да съберем 3, 4, ... N дроби ? В случая, може спокойно да помислим как да третираме въпросните променливи от входа като множество двойки от дроби за събиране (примерно 2 отделни масива, които да държат числителите и знаменателите или 2 отделни колекции). 

Поздрави !

По Принцип сте прав а и аз сам казах че не претендирам да  е решение  на задачата ,нека тя да си я нагласи по условието

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
package Math;

import java.util.*;


public class Math {

	public static void main(String[] args) {

		double a,b,c,d,result;
		
		Scanner in = new Scanner(System.in);
		
		System.out.println("Enter a =");
		a = in.nextDouble();
		
		System.out.println("Enter b =");
		b = in.nextDouble();
		
		System.out.println("Enter c =");
		c = in.nextDouble();
		
		System.out.println("Enter d =");
		d = in.nextDouble();
		in.close();//po syvet na soundtracker

		result = (a*d + b*c) / (b*d);
		
		System.out.println("Result = " +result);

	}

}

 

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Регистрирайте се или влезете в профила си за да коментирате

Трябва да имате регистрация за да може да коментирате това

Регистрирайте се

Създайте нова регистрация в нашия форум. Лесно е!

Нова регистрация

Вход

Имате регистрация? Влезте от тук.

Вход

×

Информация

Поставихме бисквитки на устройството ви за най-добро потребителско изживяване. Можете да промените настройките си за бисквитки, или в противен случай приемаме, че сте съгласни с нашите условия за ползване.