Практика программирования (Бейсик, Си, Паскаль)


Задачи,советы и ответы - часть 15


RESULT=N1& MOD 10

N1&=N1&-RESULT)/10 NEXT K%

DIGINPOS=RESULT

END FUNCTION

Программа 2_09.с

/* Анализ цифр в каждой позиции заданного числа */

#include <stdlib.h>

int digit_in_pos(long N,int j);

main () {

long M;

int k;

printf("ХпВведите целое число: ");

scanf("%ld",&M);

for(k=0; k<10; k++)

printf("\nB позиции %d находится %d",k,digit_in_pos(M, k)) ;

getch(); }

int digit_in_pos(long N,int j)

/* Определение десятичной цифры числа N в позиции j */ {

int Result,k;

for (k=0; k<=j; k++) {

Result=N % 10; N=N/10;

}

return Result; }

Программа 2 09.pas

program DigitlnPos;

{ Анализ цифр в каждой позиции заданного числа }

var

M:longint;

k:integer;

function digit_in_pos(N:longint;j:integer):integer;

{ Определение десятичной цифры числа N в позиции j }

var

Result,k:integer;

begin

for k:=0 to j do

begin

Result:=N mod 10;

N:=N div 10;

end;

digit_in_pos:=Result;

end;

begin

writeln('Введите целое число:');

readln(M);

for k:=0 to 9 do

writeln('В позиции ',k,' находится ',digit_in_pos(M,k));

readln;

end.

Задание 2.10. Генерация чисел с заданной суммой цифр

Составить программу, которая выдает все числа из диапазона [0, 999], сумма цифр которых равна вводимому числу N (о < N < 27).

Программа 2_10.bas

REM Генерация чисел с заданной суммой цифр

INPUT "Введите число в диапазоне от 0 до 27 : ",n

PRINT "Список чисел, сумма цифр которых равна ";n;" :"

FOR a2%=0 ТО 9

FOR a1%=0 TO 9

FOR a0%=0 TO 9

IF a2%tal%+aO%=n THEN

PRINT USING "####";100*a2%+10*al%+a0%;

END IF

NEXT a0%,al%,a2%

END

Программа 2_10.c

/* Генерация чисел с заданной суммой цифр */

#include <stdio.h>

#include <conio.h>

main () {

int a2,al,a0,n;

printf("\n Введите число в диапазоне от 0 до 27 : ");

scanf("%d",&n);

printf("\n Список чисел, сумма цифр которых равна %d :\n",n);




- Начало -  - Назад -  - Вперед -