Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Программирование на C / C++ / Лабораторные работы2 / УГАТУ АСОИ-136 пр-ние на ЯВУ лаб.№3 вар.№2Юля_и_Ильдар

.doc
Скачиваний:
16
Добавлен:
02.05.2014
Размер:
55.3 Кб
Скачать

Уфимский Государственный Авиационный Технический Университет

Кафедра АСУ

Отчёт

по лабораторной работе №3

по дисциплине ”Программирование на ЯВУ”

вариант №2

Выполнил: студент группы АСОИ-136

Багавутдинов И.И. Проверил: доцент кафедры АПРиС

Фёдорова Н.И.

Уфа 2007

Тема: Обработка целых данных

Цель работы: Знакомство и получение навыков обработки целых данных

в языке С++.

Вариант №2.

Задание:

Определить, можно ли представить заданное натуральное число N как сумму кубов каких-нибудь трех натуральных чисел n, m ,k(т.е. N=n3+m3+k3)

Решение:

Способом последовательного перебора (

при n=1, m=1, k=от 1 до N;

n=1, m=2, k=от 1 до N;

…………………………

…………………………

n=1, m=N, k=от 1 до N;

` …………………………

…………………………

n=N, m=N, k=от 1 до N )

каждый раз сравнивать равен ли n3+m3+k3 числу N.

Блок-схема

Текст программы на С++

#include<iostream.h>

#include<conio.h>

#include<math.h>

void main()

{long N,n,m,k;

long fl;

clrscr();

cout<<"введите переменную N\n";

cout<<"N=";

cin>>N;

fl=0;

for(n=1;n<N;n++)

for(m=1;m<N;m++)

for(k=1;k<N;k++)

if((pow(n,3)+pow(m,3)+pow(k,3))==N) {cout<<"N="<<n<<"^3+"<<m<<"^3+"<<k<<"^3="<<pow(n,3)+pow(m,3)+pow(k,3)<<endl;

fl=1;]

}

if(fl==0)

cout<<" нельзя представить";

else

cout<<endl<<" больше вариантов нет"<<endl<<" конец операции";

getch();

}

Проверка:

N=36; Результат: 36=13+23+33 и его вариации;

N=405; Результат: 405=43+53+63 и его вариации.

4