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

Программирование на C / C++ / Лабораторные работы2 / УГАТУ АСОИ-136 пр-ние на ЯВУ лаб.№3 вар.№__Макс

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

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

Кафедра АСУ

Отчёт

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

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

вариант №__

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

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

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

Уфа 2007

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

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

в языке С++.

Вариант №__.

Задание:

Среди простых чисел, не превосходящих заданного числа N найти такие, десятичное представление которых содержит убывающую последовательность цифр.

Решение:

Нужно каждую цифру заданного числа x(1…N) сравнить с цифрой разрядом выше: больше она или меньше; если каждая цифра числа x меньше впереди стоящей, то выводим на экран это число, как удовлетворяющее условию задачи.

Блок-схема

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

#include<iostream.h>

#include<conio.h>

#include<math.h>

void main()

{long N,x,y;

long fl1,fl2,i,j,ind,k1,k2;

clrscr();

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

cout<<"N=";

cin>>N;

fl1=1;

fl2=1;

ind=0;

for(x=31;x<=N;x++)

{

for(i=2;i<x;i++)

{

if((x%i)==0)

fl1=0;

}

y=x;

if(fl1==1)

{

for( ;y>0; )

{

k1=y%10;

k2=((y/10)%10);

if(y<10)

if(k2==0)

k2=k1+1;

if(k1>=k2)

fl2=0;

y/=10;

}

if(fl2==1)

{ind+=1;

cout<<endl<<" "<<ind<<"-e chislo="<<x;

}

fl2=1;

}

fl1=1;

}

getch();

} Проверка:

N=100; Результат: 31, 41, 43, 53, 61, 71, 73, 83, 97;

N=1000; Результат: 31, 41, 43, 53, 61, 71, 73, 83, 97,421, 431, 521, 541, 631, 641, 643, 653, 743, 751, 821, 853, 863, 941, 953, 971, 983.

4