Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Найти коэффициенты k0, k1, k2, k3 представления числа Х (0≤X≤80) в троичной системе счисления:
X = k 3⋅33+ k 2⋅32+ k 1⋅3+ k 0 | (2.1) |
используя операции получения частного целочисленного деления (/) и остатка
(%). Для контроля результатов выполнить вычисление Х непосредственно по формуле (2.1) для найденных коэффициентов, а также после преобразования выражения в форму-ле (2.1) по схеме Горнера. Вывести все результаты вычислений в наглядной форме с по-ясняющими текстами. Проверить работу программы на значениях
X=(0; 1; 2; 10; 27; 48; 80).
Программа
#include <stdafx.h>
int _tmain(int argc, _TCHAR* argv[])
{
unsigned int X, k0, k1, k2, k3, X1, X2;
//Ввод исходных данных printf("input X: "); scanf("%u",&X);
«Практикум по программированию на языке C в среде VS C++»
//Вычисление коэффициентов разложения
k0=X%3; X=X/3; //k0:=остаток от деления X на 3;
k1=X%3; X=X/3; //k1:=остаток от деления X/3 на 3;
k2=X%3; //k2:=остаток от деления X/9 на 3;
k3=X/3; //k3:=X/27;
//Вывод вычисленных коэффициентов разложения //числа Х по степеням 3 с поясняющими текстами printf("\nk3=%u k2=%u k1=%u
k0=%u",k3,k2,k1,k0);
// Проверки результатов вычислений
// 1.
//Вычисление непосредственно по формуле (2.1)
X1=k3*27+k2*9+k1*3+k0;
//и вывод результата printf("\nX1 = %u",X1);
// 2.
//Вычисление по формуле (2.1), //преобразованной по схеме Горнера
X2=((k3*3+k2)*3+k1)*3+k0;
//и вывод результата printf("\nX2 = %u\n",X2); return 0;
}
Протокол ввода-вывода этой программы для числа 77 будет следующим: input X: 77
k3=2 k2=2 k1=1 k0=2 X1 = 77
X2 = 77
Дата публикования: 2015-03-26; Прочитано: 256 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!