Студопедия

Главная страница Случайная лекция

Порталы:

БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика






Целое число со знаком

Читайте также:
  1. Б. Ознакомление со специфическими для русской графики буквами.
  2. Вещественное число
  3. Видами, марками и типоразмерами применяемых материалов. Число их достигает десятков (даже сотен) тысяч.
  4. Внутригодовые процентные начисления с целым числом лет
  5. Где п - число, которое может изменяться от двух до тысячи и более.
  6. Движение системы с конечным числом степеней свободы
  7. Занятия первично-ознакомительного типа
  8. ЗНАКОМСТВА
  9. Знакомство с основными понятими, терминами и законами композиции.
  10. Как давно человечество знакомо с металлами?

Целые числа – это положительные или отрицательные целые числа, состоящие из знака и последовательности цифр.

Основные операции с целыми числами:

§ присваивание;

§ унарные арифметические операции: изменение знака +, -;

§ бинарные арифметические операции: +, -, *, /, %;

§ операции отношения: = =, !=, <, >, <=, >=.

 

Набор функций для работы с целыми числами:

1. Определить количество разрядов в числе.

int Counter (long Number)

{

int k = 1;

while ((Number/(long) pow(10,k)) > 0) k++;

return k;

}

2. Записать каждую цифру в числе отдельно.

void Category (long Number)

{

int count = Counter (Number);

long t;

for (int i = count - 1; i >= 0; i --)

{ t = Number / (long) pow (10, i);

t = t % 10;

printf ("%d ", t);

}

}

3. Записать число наоборот.

long Reverse (long Number)

{

long result = 0;

while (Number >0)

{ result = (result*10) + Number % 10;

Number /= 10;

}

return result;

}

4. Проверить, является число симметричным?

int Symmetry (long Number)

{

if (Reverse (Number) == Number) return 1;

return 0;

}

5. Вывести все делители числа.

void Deletes (unsigned int Number)

{

unsigned int count = 0, d, i = 1, m = 2;

if ((Number%2) != 0) // если число нечётное

{ i = 2; m = 3; }

for (d = m; d <= Number / 2; d + = i)

if ((Number % d) == 0)

{ printf(" %u\t", d); count ++; }

if (count > 0) printf ("- это делитель(и)! ");

else printf ("\n Число не имеет делителей! ");

}

6. Проверить, является число совершенным (равно сумме всех его сомножителей, за исключением самого числа)?

void Perfect (unsigned int Number)

{

unsigned int sum = 1, d;

for (d = 2; d <= Number / 2; d ++)

if ((Number % d) == 0) sum += d;

if (sum == Number) printf ("Число совершенное! ");

else printf ("Число несовершенное! ");

}

7. Проверить, является ли нечётное число простым (не имеет делителей, кроме единицы и самого себя)?

int Simple (long Number)

{

for(int i = 3; i <= (long) sqrt (Number); i += 2)

if ((Number % i ) == 0) return 0;

return 1;

}

8. Разложить число на простые сомножители.

void Simple_Multiply (int Number)

{

int i, tmp;

printf ("\n");

tmp = Number;

while ((Number %2) == 0) //пока число чётное, выводим все «двойки»

{ Number /= 2;

if(Number> 1) printf ("2*");

else { printf ("2"); break;}

}

for (i = 3; i <= (tmp/2); i += 2 )

if ((Number % i) ==0 && Simple (i))

while ((Number % i) == 0)

{ Number = Number / i;

if (Number > 1) printf ("%d*", i);

else { printf ("%d", i); break; }

}

}

9. Найти наибольший общий делитель двух чисел способом перебора всех возможных.

void Common_ Deleted (int a, int b)

{

int x, i;

if (a > b) { x = a; a = b; b = x;}

for ( i = a; i > 1; i --)

if (( a % i = = 0) && ( b % i = = 0)) break;

printf ("\n Наибольший общий делитель = %d", i );

}

10. Перевести число в k-ричную систему счисления (k = 2…9).

long Convert (int Number, int base)

{

long result = 0L;

int t = 0;

while(Number > 0)



{ result = result + (Number % base) *(long) pow (10, t);

Number /= base;

t++;

}

return result;

}


<== предыдущая страница | следующая страница ==>
Объекты базовых типов данных | Вещественное число

Дата добавления: 2014-11-14; просмотров: 269; Нарушение авторских прав


lektsiopedia.org - Лекциопедия - 2013 год. | Страница сгенерирована за: 0.003 сек.