- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
/* Таблица умножения
*/
public class Solution
{
public static void main(String[] args)
{
int a = 1;
int b = 2;
int c = 3;
int d = 4;
int e = 5;
int f = 6;
int g = 7;
int h = 8;
int i = 9;
int j = 10;
System.out.println(a * a + " " + b * a + " " + c * a + " " + d * a + " " + e * a + " " + f * a + " " + g * a + " " + h * a + " " + i * a + " " + j * a);//1
System.out.println(a * b + " " + b * b + " " + c * b + " " + d * b + " " + e * b + " " + f * b + " " + g * b + " " + h * b + " " + i * b + " " + j * b);//2
System.out.println(a * c + " " + b * c + " " + c * c + " " + d * c + " " + e * c + " " + f * c + " " + g * c + " " + h * c + " " + i * c + " " + j * c);//3
System.out.println(a * d + " " + b * d + " " + c * d + " " + d * d + " " + e * d + " " + f * d + " " + g * d + " " + h * d + " " + i * d + " " + j * d);//4
System.out.println(a * e + " " + b * e + " " + c * e + " " + d * e + " " + e * e + " " + f * e + " " + g * e + " " + h * e + " " + i * e + " " + j * e);//5
System.out.println(a * f + " " + b * f + " " + c * f + " " + d * f + " " + e * f + " " + f * f + " " + g * f + " " + h * f + " " + i * f + " " + j * f);//6
System.out.println(a * g + " " + b * g + " " + c * g + " " + d * g + " " + e * g + " " + f * g + " " + g * g + " " + h * g + " " + i * g + " " + j * g);//7
System.out.println(a * h + " " + b * h + " " + c * h + " " + d * h + " " + e * h + " " + f * h + " " + g * h + " " + h * h + " " + i * h + " " + j * h);//8
System.out.println(a * i + " " + b * i + " " + c * i + " " + d * i + " " + e * i + " " + f * i + " " + g * i + " " + h * i + " " + i * i + " " + j * i);//9
System.out.println(a * j + " " + b * j + " " + c * j + " " + d * j + " " + e * j + " " + f * j + " " + g * j + " " + h * j + " " + i * j + " " + j * j);//10
}
}
for (int j=1;j<11;j++){
System.out.print( j*i + " ");
}
System.out.println();
}
Inkanus-gray, да пробелы есть лишние, но наглядность вывода сохранил)
Думаю в этом примере не принципиально наличие лишнего пробела.
int len = 10;
for (int i = 0; i < len * len; ++i)
{
if (i % len == 0)
{
if(i > 0)
System.out.println();
}
else
System.out.print(" ");
System.out.format("%03d ", (i / len + 1) * (i % len + 1));
}
Но даже там значения было бы удобнее генерить двойным циклом, а не выёбываться, вычленяя их делением из линейного индекса...
Эта практика, имхо, не порочна только в одном случае - когда линейный индекс даётся свыше, на входе алгоритма, и нам надо выдать значение для конкретного индекса.
Что-то типа такого имелось в виду:Но и то, имхо, архитектура говёная, раз заставляет такое делать, а не передаёт индекс ячейки по-нормальному как пару (x, y).
Будет где нибудь в функции-адаптере
ладно если у нас только свернутый индекс на входе, но тут то зачем все это
http://ideone.com/o8OoN1
http://ideone.com/ouk6eX
"i+j-20||" вместо ";" кажется слишком расточительным, но без этого теряется особый шарм этого кода.