Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
C# / C#Лаб1 / ЛабРабота2.doc
Скачиваний:
35
Добавлен:
31.05.2015
Размер:
1.66 Mб
Скачать

Примеры решения задач

Проверить, является ли двоичная запись натурального числа N палиндромом. N задано, и не должно превосходить 100. Палиндром - число, которое имеет одинаковое чтение слева направо и справа налево.

static int Main(string[] args)

{

int numb, kRazr, work;

bool flag=false;

Console.WriteLine("Введите натуральное число до 100");

numb= Convert.ToInt32(Console.ReadLine());

if (numb>100) return 0;

// посчитаем, сколько двоичных разрядов в числе

work=numb; kRazr=0;

while (work>0)

{ work>>=1; kRazr++; }

Console.WriteLine("Двоичных разрядов {0}",kRazr);

if ((numb&1)==0)

{ Console.WriteLine("Не палиндром"); return 0; }

for (int i=0; i<kRazr/2; i++)

{

// младший разряд (numb>>i)&1

// Старший разряд (numb>>(kRazr-i-1))&1

if (((numb>>i)&1)!=((numb>>(kRazr-i-1))&1))

{ flag=false; break; }

flag=true;

}

if (flag) Console.WriteLine("Палиндром");

else Console.WriteLine("Не палиндром");

return 0;

}

Среди последовательности вводимых натуральных чисел определить количество чисел содержащих цифру N. Количество вводимых чисел заранее не известно.

namespace ConsoleApplication3

{

class Class1

{

// процедура подсчета необходимых цифр

static int schet(int zifra,int N){

int k=0;

while (zifra>10){

// поиск цифры происходит через проверку остатка от деления на 10

double ost=zifra%10;

if (ost==N)

{

k=k+1;

break;

}

zifra=zifra/10;

}

if (zifra==N)

{ k=k+1; }

return k;

}

static void Main(string[] args)

{

Console.WriteLine("Какую цифру будем искать? ");

int N=Convert.ToInt32(Console.ReadLine());

Console.WriteLine("Вводите числа, выход - 0");

int rez=0;

int zifra;

bool usl_vix=true;

// числа вводятся пока пользователь не введет 0

while (usl_vix){

zifra=Convert.ToInt32(Console.ReadLine());

if (zifra!=0)

{

rez=rez+schet(zifra,N);}

else { usl_vix=false; }

}

Console.WriteLine(" Чисел, содержащих цифру = {0} равно = {1}",N,rez);

}

}

}

Соседние файлы в папке C#Лаб1