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

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

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

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

Кафедра АСУ

Отчёт

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

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

вариант №__

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

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

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

Уфа 2007

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

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

в языке С++.

Вариант №__.

Задание:

Для заданного натурального числа N найти все простые числа, сумма цифр которых равна N.

Решение:

Необходимо проверить числа в диапазоне от 1 до т.к.

число большее уже не будет удовлетворять условию задачи.

Для этого: 1) проверяем этот диапазон на наличие простых чисел.

2) если простые числа есть, то сумму цифр каждого из них проверяем на равенство с N.

Блок-схема

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

#include<iostream.h>

#include<conio.h>

#include<math.h>

void main()

{ unsigned long x,N,y,s,fl,z,d,c,k,i,j;

int f;

clrscr();

cout<<"vvedite chislo N \n";

cout<<"N=";

cin>>N;

fl=1;s=0;

f=0;

c=1;d=0;

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

{d=d+c;

c=c*10;}

cout<<"d="<<d<<endl;

for(i=1;i<=d;i=i+2)

{

for(j=3;j<i;j=j+2)

{

z=i%j;

if(z==0)

fl=0;

}

if(fl==1)

{

for(y=i;y>0;y/=10)

s+=y%10;

if(s==N)

{

cout<<"chislo "<<i<<endl;

f=1;

}

}

fl=1;s=0;

}

if(f==0)

cout<<"net tekih chusel"<<endl;

cout<<"conec";

getch();

}

Проверка:

N=4;

Результат: 13, 31, 103,211,1021;

N=5;

Результат: 5, 23, 41, 113, 131, 311, 401, 1013, 1031, 1103, 1301, 2003, 2111, 3011, 4001, 10103, 10211, 10301, 11003.

4