desolator 267 Опубликовано 8 января, 2014 Привет всем, получил задние вывести на экран сумму чисел от 1 до 10 построчно. Вот что у меня получилось: public class Solution { public static void main(String[] args) { int a = 1, b = 2, c = 3, d = 4, e = 5, f = 6, g = 7, i = 8, j = 9, k = 10; System.out.println( + ( a + b )); System.out.println( + ( a + b + c )); System.out.println( + ( a + b + c + d )); System.out.println( + ( a + b + c + d + e )); System.out.println( + ( a + b + c + d + e + f )); System.out.println( + ( a + b + c + d + e + f + g )); System.out.println( + ( a + b + c + d + e + f + g + i )); System.out.println( + ( a + b + c + d + e + f + g + i + j )); System.out.println( + ( a + b + c + d + e + f + g + i + j + k )); } } Я понимаю что этот код инвалидность 1 категории но вроде бы работает правильно. Собственно сабж, как это дело можно реализовать по другому, а не писать 100500 лишних строк как у меня. Если у вас будет свое решение задачи, очень прошу, описать как ваш вариант работает ну или вместо описания сбросить пруф на мануал, где подробно описано что да как и почему в вашем варианте ответа. Спасибо за внимание. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
se1dhe 501 Опубликовано 8 января, 2014 (изменено) Если найдешь вариант тривиальней - дай знать int n=1; // Начинаем с единицы. for(int i=0;i<10;i++){ // Вывод 10-ти сообщений с результатами. задано циклом. System.out.println(n*(n+1)/2); // Вывод итога формулы. т.е. ( 1*(1+1)/2) n++;} // Каждую итерацию число "n" увеличивается на единицу. Если нужно узнать сумму, например не 10ти чисел, а вводимое кол-во раз с клавы: import java.util.Scanner; // Обратить внимание на новый импорт. /** * * @author Seidhe */ public class Test { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here Scanner in = new Scanner(System.in); System.out.println("Введите k: "); int k=in.nextInt(); int n=1; for(int i=0;i<k;i++){ System.out.println(n*(n+1)/2); n++;} } } Обратить внимание на новый импорт. Изменено 8 января, 2014 пользователем seidhe 2 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
VREDNbIi 145 Опубликовано 8 января, 2014 (изменено) От 1 до 10 ? или ? что-то я не совсем понял задачи... исходя из ваших примеров кода wtf ? public class Main { public static void main(String[] args) { for (int i = 1; i <= 10; i++) { System.out.println(i); } } } пойду спать : / Изменено 8 января, 2014 пользователем VREDNbIi 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
desolator 267 Опубликовано 8 января, 2014 (изменено) От 1 до 10 ? или ? что-то я не совсем понял задачи... исходя из ваших примеров кода wtf ? public class Main { public static void main(String[] args) { for (int i = 1; i <= 10; i++) { System.out.println(i); } } } пойду спать : / Вот условие: /* Сумма 10 чисел Вывести на экран сумму чисел от 1 до 10 построчно (должно быть 10 строк): 1 1+2=3 1+2+3=6 1+2+3+4=10 ... Пример вывода: 1 3 6 10 ... */ Если найдешь вариант тривиальней - дай знать int n=1; // Начинаем с единицы. for(int i=0;i<10;i++){ // Вывод 10-ти сообщений с результатами. задано циклом. System.out.println(n*(n+1)/2); // Вывод итога формулы. т.е. ( 1*(1+1)/2) n++;} // Каждую итерацию число "n" увеличивается на единицу. Если нужно узнать сумму, например не 10ти чисел, а вводимое кол-во раз с клавы: import java.util.Scanner; // Обратить внимание на новый импорт. /** * * @author Seidhe */ public class Test { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here Scanner in = new Scanner(System.in); System.out.println("Введите k: "); int k=in.nextInt(); int n=1; for(int i=0;i<k;i++){ System.out.println(n*(n+1)/2); n++;} } } Обратить внимание на новый импорт. int n=1; // Начинаем с единицы. for(int i=0;i<10;i++){ // Вывод 10-ти сообщений с результатами. задано циклом. System.out.println(n*(n+1)/2); // Вывод итога формулы. т.е. ( 1*(1+1)/2) n++;} // Каждую итерацию число "n" увеличивается на единицу. Вот так работает как надо, for (int i=0; i<10; i++) насколько для понял, i=0 i= любое число от 10 до i, i++ увеличивать значение переменной на 1? Изменено 8 января, 2014 пользователем desolator Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
se1dhe 501 Опубликовано 8 января, 2014 (изменено) Вот условие: /* Сумма 10 чисел Вывести на экран сумму чисел от 1 до 10 построчно (должно быть 10 строк): 1 1+2=3 1+2+3=6 1+2+3+4=10 ... Пример вывода: 1 3 6 10 ... */ int n=1; // Начинаем с единицы. for(int i=0;i<10;i++){ // Вывод 10-ти сообщений с результатами. задано циклом. System.out.println(n*(n+1)/2); // Вывод итога формулы. т.е. ( 1*(1+1)/2) n++;} // Каждую итерацию число "n" увеличивается на единицу. Вот так работает как надо, for (int i=0; i<10; i++) насколько для понял, i=0 i= любое число от 10 до i, i++ увеличивать значение переменной на 1? i=0 вас не касается. вас касается конкретно эта часть : i<10. Вместо 10-ти указывайте любое кол-во итераций. И да, i++ увеличивает переменную на 1. Изменено 8 января, 2014 пользователем seidhe Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
se1dhe 501 Опубликовано 8 января, 2014 От 1 до 10 ? или ? что-то я не совсем понял задачи... исходя из ваших примеров кода wtf ? public class Main { public static void main(String[] args) { for (int i = 1; i <= 10; i++) { System.out.println(i); } } } пойду спать : / Вы выводите не сумму чисел, а тупо числа от одного до 10-ти, каждую итерацию принтите "i" Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
desolator 267 Опубликовано 8 января, 2014 i=0 вас не касается. вас касается конкретно эта часть : i<10. Вместо 10-ти указывайте любое кол-во итераций. И да, i++ увеличивает переменную на 1. Коль i=0 то есть меня не касается? Тогда зачем оно? Б**ь что то совсем ничего не понимаю Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Resonans 1 Опубликовано 21 января, 2014 (изменено) Например так: void main() { int a = 0, b = 1; for(int i=0; i<10; i++) { a=(b*(b+1))/2; b++; } } Изменено 21 января, 2014 пользователем Resonans Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
desolator 267 Опубликовано 21 января, 2014 Я за это время уже успел понять как работает эта функция ;] Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
se1dhe 501 Опубликовано 21 января, 2014 Например так: void main() { int a = 0, b = 1; for(int i=0; i<10; i++) { a=(b*(b+1))/2; b++; } } Забыли про вывод Да и от моего варианта отличается только переменными. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Resonans 1 Опубликовано 21 января, 2014 Забыли про вывод Да и от моего варианта отличается только переменными. cout<<a<<endl; Не стал просто напросто дописывать сиоут, саму суть передал Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
se1dhe 501 Опубликовано 21 января, 2014 cout<<a<<endl; Не стал просто напросто дописывать сиоут, саму суть передал Как бы Java, а не С++ Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Resonans 1 Опубликовано 21 января, 2014 Как бы Java, а не С++ Думаю суть самого решения передать смог, а ява от си++ хоть и отличается структурой написания, но использование принципов написания у них остается прежний. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mizuwokiru 181 Опубликовано 25 января, 2014 Думаю суть самого решения передать смог, а ява от си++ хоть и отличается структурой написания, но использование принципов написания у них остается прежний. Ява практически не похож на С++. Больше схож на С# (не зря его хотели назвать Java++). Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
r2max 1 Опубликовано 2 мая, 2015 Привет всем, получил задние вывести на экран сумму чисел от 1 до 10 построчно. Вот что у меня получилось: public class Solution { public static void main(String[] args) { int a = 1, b = 2, c = 3, d = 4, e = 5, f = 6, g = 7, i = 8, j = 9, k = 10; System.out.println( + ( a + b )); System.out.println( + ( a + b + c )); System.out.println( + ( a + b + c + d )); System.out.println( + ( a + b + c + d + e )); System.out.println( + ( a + b + c + d + e + f )); System.out.println( + ( a + b + c + d + e + f + g )); System.out.println( + ( a + b + c + d + e + f + g + i )); System.out.println( + ( a + b + c + d + e + f + g + i + j )); System.out.println( + ( a + b + c + d + e + f + g + i + j + k )); } } Я понимаю что этот код инвалидность 1 категории но вроде бы работает правильно.Собственно сабж, как это дело можно реализовать по другому, а не писать 100500 лишних строк как у меня. Если у вас будет свое решение задачи, очень прошу, описать как ваш вариант работает ну или вместо описания сбросить пруф на мануал, где подробно описано что да как и почему в вашем варианте ответа. Спасибо за внимание. int s=0; for (int i=1;i<11;i++){ s=s+i; System.out.println(s); } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Den4ik 103 Опубликовано 4 мая, 2015 (изменено) int [] a = new int [10];//Массив из 10 чисел int sum=0; Scanner scan = new Scanner(System.in); for(int i =0; i<a.length;i++){ //Заполнение массива a=scan.nextInt(); } for(int i =0; i<a.length;i++){//Вывод суммы из 10 чисел sum+=a; System.out.println(sum); } Изменено 4 мая, 2015 пользователем Den4ik Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты