Работает на посылках до 100000. Дальше идёт интересная закономерность по которой изменяется.
unsigned long long int digit_arr[10] = {};
int z = max_numer / 100000;
if (z == 1)
{
digit_arr[0] += 38894;
digit_arr[1] += 50001;
digit_arr[2] += 50000;
digit_arr[3] += 50000;
digit_arr[4] += 50000;
digit_arr[5] += 50000;
digit_arr[6] += 50000;
digit_arr[7] += 50000;
digit_arr[8] += 50000;
digit_arr[9] += 50000;
}
if (z == 2)
{
digit_arr[0] += 88894;
digit_arr[1] += 200000;
digit_arr[2] += 100001;
digit_arr[3] += 100000;
digit_arr[4] += 100000;
digit_arr[5] += 100000;
digit_arr[6] += 100000;
digit_arr[7] += 100000;
digit_arr[8] += 100000;
digit_arr[9] += 100000;
}
if (z == 3)
{
digit_arr[0] += 138894;
digit_arr[1] += 250000;
digit_arr[2] += 250000;
digit_arr[3] += 150001;
digit_arr[4] += 150000;
digit_arr[5] += 150000;
digit_arr[6] += 150000;
digit_arr[7] += 150000;
digit_arr[8] += 150000;
digit_arr[9] += 150000;
}
if (z == 4)
{
digit_arr[0] += 188894;
digit_arr[1] += 300000;
digit_arr[2] += 300000;
digit_arr[3] += 300000;
digit_arr[4] += 200001;
digit_arr[5] += 200000;
digit_arr[6] += 200000;
digit_arr[7] += 200000;
digit_arr[8] += 200000;
digit_arr[9] += 200000;
}
if (z == 5)
{
digit_arr[0] += 238894;
digit_arr[1] += 350000;
digit_arr[2] += 350000;
digit_arr[3] += 350000;
digit_arr[4] += 350000;
digit_arr[5] += 250001;
digit_arr[6] += 250000;
digit_arr[7] += 250000;
digit_arr[8] += 250000;
digit_arr[9] += 250000;
}
if (z == 6)
{
digit_arr[0] += 288894;
digit_arr[1] += 400000;
digit_arr[2] += 400000;
digit_arr[3] += 400000;
digit_arr[4] += 400000;
digit_arr[5] += 400000;
digit_arr[6] += 300001;
digit_arr[7] += 300000;
digit_arr[8] += 300000;
digit_arr[9] += 300000;
}
if (z == 7)
{
digit_arr[0] += 338894;
digit_arr[1] += 450000;
digit_arr[2] += 450000;
digit_arr[3] += 450000;
digit_arr[4] += 450000;
digit_arr[5] += 450000;
digit_arr[6] += 450000;
digit_arr[7] += 350001;
digit_arr[8] += 350000;
digit_arr[9] += 350000;
}
if (z == 8)
{
digit_arr[0] += 388894;
digit_arr[1] += 500000;
digit_arr[2] += 500000;
digit_arr[3] += 500000;
digit_arr[4] += 500000;
digit_arr[5] += 500000;
digit_arr[6] += 500000;
digit_arr[7] += 500000;
digit_arr[8] += 400001;
digit_arr[9] += 400000;
}
if (z == 9)
{
digit_arr[0] += 438894;
digit_arr[1] += 550000;
digit_arr[2] += 550000;
digit_arr[3] += 550000;
digit_arr[4] += 550000;
digit_arr[5] += 550000;
digit_arr[6] += 550000;
digit_arr[7] += 550000;
digit_arr[8] += 550000;
digit_arr[9] += 450001;
}
Я попробовал сделать костыль, но там этих костылей до скончания веков писать. Проще сделать алгоритм автоматически рассчитывающий по заметной закономерности, который вычисляет количество цифр max_numer / 100000, и к нему добавить алгоритм, который вычисляет количество цифр в max_numer % 100000
Как я понял,нужно было вывести главную и побочную диагонали.
Ошибки:
пропущены скобки,как обычные так и фигурные;пропущены знаки ";","<" и т.д.;
Легче было заново написать чем исправлять.
Вот мой код:
import java.util.Scanner;
public class Main{
public static void main (String [] args){
Scanner in = new Scanner (System.in);
int n = in.nextInt();
int mass[][] = new int [n][n];
int i,j;
for(i=0;i<n;i++){
for(j=0;j<n;j++){
mass[i][j]=in.nextInt();
}
}
for(i=0;i<n;i++){
for(j=0;j<n;j++){
if((i==j) || j==(n-1-i)){
System.out.print("x");
}else System.out.print(mass[i][j]);
}
System.out.println();
}
in.close();
}
}
Объяснение:
Краткий алгоритм программы:Импортируем Scanner;Объявляем переменную in типа Scanner,для ввода;Объявляем переменную n типа int,для хранения размера массива;Объявляем две переменные i и j типа int,для циклов;В первом "двойном" цикле мы заполняем массив числами;Во втором "дойном" цикле мы мы сравниваем индексы массива и выводим результат;Закрываем Scanner;
c++
#include <iostream>
using namespace std;
int main()
{
unsigned long long int max_numer;
cin >> max_numer;
long long digit_arr[10] = {};
for (int i = 1; i <= max_numer; i++)
{
int j = i;
while (j > 0)
{
digit_arr[j % 10]++;
j /= 10;
}
}
for (int i = 0; i < 10; i++)
{
cout << digit_arr[i] << " ";
}
}
Объяснение:
Работает на посылках до 100000. Дальше идёт интересная закономерность по которой изменяется.
unsigned long long int digit_arr[10] = {};
int z = max_numer / 100000;
if (z == 1)
{
digit_arr[0] += 38894;
digit_arr[1] += 50001;
digit_arr[2] += 50000;
digit_arr[3] += 50000;
digit_arr[4] += 50000;
digit_arr[5] += 50000;
digit_arr[6] += 50000;
digit_arr[7] += 50000;
digit_arr[8] += 50000;
digit_arr[9] += 50000;
}
if (z == 2)
{
digit_arr[0] += 88894;
digit_arr[1] += 200000;
digit_arr[2] += 100001;
digit_arr[3] += 100000;
digit_arr[4] += 100000;
digit_arr[5] += 100000;
digit_arr[6] += 100000;
digit_arr[7] += 100000;
digit_arr[8] += 100000;
digit_arr[9] += 100000;
}
if (z == 3)
{
digit_arr[0] += 138894;
digit_arr[1] += 250000;
digit_arr[2] += 250000;
digit_arr[3] += 150001;
digit_arr[4] += 150000;
digit_arr[5] += 150000;
digit_arr[6] += 150000;
digit_arr[7] += 150000;
digit_arr[8] += 150000;
digit_arr[9] += 150000;
}
if (z == 4)
{
digit_arr[0] += 188894;
digit_arr[1] += 300000;
digit_arr[2] += 300000;
digit_arr[3] += 300000;
digit_arr[4] += 200001;
digit_arr[5] += 200000;
digit_arr[6] += 200000;
digit_arr[7] += 200000;
digit_arr[8] += 200000;
digit_arr[9] += 200000;
}
if (z == 5)
{
digit_arr[0] += 238894;
digit_arr[1] += 350000;
digit_arr[2] += 350000;
digit_arr[3] += 350000;
digit_arr[4] += 350000;
digit_arr[5] += 250001;
digit_arr[6] += 250000;
digit_arr[7] += 250000;
digit_arr[8] += 250000;
digit_arr[9] += 250000;
}
if (z == 6)
{
digit_arr[0] += 288894;
digit_arr[1] += 400000;
digit_arr[2] += 400000;
digit_arr[3] += 400000;
digit_arr[4] += 400000;
digit_arr[5] += 400000;
digit_arr[6] += 300001;
digit_arr[7] += 300000;
digit_arr[8] += 300000;
digit_arr[9] += 300000;
}
if (z == 7)
{
digit_arr[0] += 338894;
digit_arr[1] += 450000;
digit_arr[2] += 450000;
digit_arr[3] += 450000;
digit_arr[4] += 450000;
digit_arr[5] += 450000;
digit_arr[6] += 450000;
digit_arr[7] += 350001;
digit_arr[8] += 350000;
digit_arr[9] += 350000;
}
if (z == 8)
{
digit_arr[0] += 388894;
digit_arr[1] += 500000;
digit_arr[2] += 500000;
digit_arr[3] += 500000;
digit_arr[4] += 500000;
digit_arr[5] += 500000;
digit_arr[6] += 500000;
digit_arr[7] += 500000;
digit_arr[8] += 400001;
digit_arr[9] += 400000;
}
if (z == 9)
{
digit_arr[0] += 438894;
digit_arr[1] += 550000;
digit_arr[2] += 550000;
digit_arr[3] += 550000;
digit_arr[4] += 550000;
digit_arr[5] += 550000;
digit_arr[6] += 550000;
digit_arr[7] += 550000;
digit_arr[8] += 550000;
digit_arr[9] += 450001;
}
Я попробовал сделать костыль, но там этих костылей до скончания веков писать. Проще сделать алгоритм автоматически рассчитывающий по заметной закономерности, который вычисляет количество цифр max_numer / 100000, и к нему добавить алгоритм, который вычисляет количество цифр в max_numer % 100000
Как я понял,нужно было вывести главную и побочную диагонали.
Ошибки:
пропущены скобки,как обычные так и фигурные;пропущены знаки ";","<" и т.д.;Легче было заново написать чем исправлять.
Вот мой код:
import java.util.Scanner;
public class Main{
public static void main (String [] args){
Scanner in = new Scanner (System.in);
int n = in.nextInt();
int mass[][] = new int [n][n];
int i,j;
for(i=0;i<n;i++){
for(j=0;j<n;j++){
mass[i][j]=in.nextInt();
}
}
for(i=0;i<n;i++){
for(j=0;j<n;j++){
if((i==j) || j==(n-1-i)){
System.out.print("x");
}else System.out.print(mass[i][j]);
}
System.out.println();
}
in.close();
}
}
Объяснение:
Краткий алгоритм программы:Импортируем Scanner;Объявляем переменную in типа Scanner,для ввода;Объявляем переменную n типа int,для хранения размера массива;Объявляем две переменные i и j типа int,для циклов;В первом "двойном" цикле мы заполняем массив числами;Во втором "дойном" цикле мы мы сравниваем индексы массива и выводим результат;Закрываем Scanner;