NetNado
  Найти на сайте:

Учащимся

Учителям



Отчет по лабораторной работе №11 по дисциплине "Программирование на языке высокого уровня"



Федеральное агентство по образованию

ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Факультет АВТ

Кафедра ИПС

Системы счисления

Отчет по лабораторной работе № 11

по дисциплине "Программирование на языке высокого уровня"

вариант № 9


Выполнил:


студент группы 8В83

Колчанов А.В.


Проверил:


преподаватель
Погребная Т.А.



г. Томск, 2010

Условие задачи


Получить последовательность десятичных цифр числа n! - , т.е. такую целочисленную последовательность, в которой каждый член di удовлетворяет условию 0di9 и, дополнительно,
n-целое, ввести с клавиатуры. Задачу решить в частности при n=100.

Алгоритм решения




  1. Вычисляется значение n!-2n.

  2. Вычисляется количество цифр в числе n!-2n. Выделяется массив данной размерности.

  3. Заполнение массива цифрами из числа n!-2n.

Листинг

/*

(c) Andrey Kolchanov, 2010.

*/
#include "stdafx.h"

#include "iostream"

#include "conio.h"

#include "math.h"
using namespace std;
double fact(double i)

{

if (i<=1) return 1; else return i*fact(i-1);

}
int _tmain(int argc, _TCHAR* argv[])

{

cout << "Enter n: ";

double n;

cin >> n;
//получаем нужное число

n=fact(n)-pow((long double)2,(long)n);

//определяем количество цифр

int count = 0;

double n2=n;

while (n2>1)

{

n2=n2/10;

count++;

}
int* a;

a = new int[count];
n2=n;

int b=0;

while (n2>1)

{

a[count-b-1]=fmod(n2,10);

n2=n2/10;

b++;

}
cout<
for (int i=0; i
cout << a[i];
getch();
return 0;

}



Результат работы программы


Enter n: 100

9332621544394408086048682862822064684000442688840062684860480868468224484046402

862608208886284486804200400484620848004862686866402802860622640446000204666408

Вывод



Научились «переводить» цифры из числа в массив. Кроме того, я узнал функцию fmod() – она используется для получения остатка от деления для чисел типа double.



страница 1


скачать

Другие похожие работы: