вторник, 16 ноября 2010 г.

Извлечение из числа его отдельных цифр и «внутренних чисел»


Для достижения этой задачи можно воспользоваться вычислением частного и остатка при делении числа на 10, 100, 1000 и так далее.

Серьезным ограничением в этой группе задач является то, что следует заранее знать, из какого количества цифр составлено число. В дальнейшем, когда будут изучаться циклы, ученики узнают, как можно не учитывать это ограничение.

Но до этого все задачи придется строить на предположении, что число цифр во вводимых числах заранее известно и является «таким, как требуется по условию».

Двузначное число

Первая цифра (десятки) получается вычисление частного от деления на 10.

Вторая цифра (единицы) получается вычислением остатка от деления на 10.

Пример программы, которая принимает с клавиатуры двузначное число и печатает его в «подробном виде»: при вводе 23 на экран выводится 20+3

import java.util.*;

class primer11

{

static Scanner reader=new Scanner(System.in);

public static void main(String[] args)

{

int x,dig1,dig2;

x=reader.nextInt();

dig1=x/10;

dig2=x%10;

System.out.println(dig1*10+"+"+dig2);

}

}

Трехзначное число

Первая цифра (сотни) получается вычисление частного от деления на 100.

Вторая цифра (десятки) получается за два вычисления: сначала вычисляем остаток от деления на 100 – получается двузначное число, составленное из двух последних цифр, затем от этого числа вычисляем частное от деления на 10 (как для двузначного числа).

Комментарий: есть и другой способ – какой? Кроме того, два вычисления можно свести в одно выражение.

Последняя цифра (единицы) получается вычислением остатка от деления на 10

Пример программы, которая принимает с клавиатуры трехзначное число и печатает его в «подробном виде»: при вводе 123 на экран выводится 100+20+3

import java.util.*;

class primer12

{

static Scanner reader=new Scanner(System.in);

public static void main(String[] args)

{

int x,dig1,dig2,dig3;

x=reader.nextInt();

dig1=x/100;

dig2=(x%100)/10;

dig3=x%10;

System.out.println(dig1*100+"+"+dig2*10+"+"+dig3);

}

}

Четырехзначное число

Первая цифра (тысячи) получается вычисление частного от деления на 1000.

Вторая цифра (сотни) вычисляется в два приема: сначала вычисляем частное от деления на 100, а потом из него вычисляем остаток от деления на 10.

Комментарий: есть и другой способ – какой? Кроме того, два вычисления можно свести в одно выражение.

Третья цифра (десятки) вычисляется в два приема: сначала вычисляем остаток от деления на 100, а потом из него вычисляем частное от деления на 10.

Комментарий: есть и другой способ – какой? Кроме того, два вычисления можно свести в одно выражение.

Последняя цифра (единицы) получается вычислением остатка от деления на 10

Пример программы, которая принимает с клавиатуры четырехзначное число и печатает его в «подробном виде»: при вводе 5123 на экран выводится 5000+100+20+3

import java.util.*;

class primer13

{

static Scanner reader=new Scanner(System.in);

public static void main(String[] args)

{

int x,dig1,dig2,dig3,dig4;

x=reader.nextInt();

dig1=x/1000;

dig2=(x/100)%10;

dig3=(x%100)/10;

dig4=x%10;

System.out.println(dig1*1000+"+"+dig2*100+"+"+dig3*10+"+"+dig4);

}

}

Комментарий:

  • аналогично можно «расчленять» числа с 5-ю, 6-ю и прочим количеством цифр
  • можно «вычленять» из одного числа другие, «внутренние» числа (из трехзначного, например, двузначные и так далее)

Комментариев нет:

Отправить комментарий