C/C++ - Найти все простые, совершенные и полиндромы на заданном промежутке в Си

Ответить
 • Просмотры: 1
Аватара пользователя
partisanus

C/C++ - Найти все простые, совершенные и полиндромы на заданном промежутке в Си

Сообщение partisanus »

Долго мучался, но все-таки решил.

Может кому-то пригодится...



Код: Выделить всё

#include<stdio.h>

#include<math.h>





void main()

{int pr,sov,a,b=1,c=0,d,pol,t;

for(a=10;a<=100;a++)                            //перебираем все числа в заданном диапазоне

    {

    for(b=1,pr=0;b<a;b++)                        //перебор чисел от 1 до "а"

        {t=a%b;                                    //определение остатка от деления

        if(t==0)                                //определение делителя(если остаток от деления 0, значит делитель)

        pr+=b;                                    //Складываем все делители числа "а"

        }

    if(pr<2)                                    //если сумма делителей равна 1(единственный делитель числа, кроме его самого равен 1)

        printf("%d-prostoe chislo\n",a);        //значит число является простым и выводим как простое

    if(pr==a)                                    //если сумма делителей равна самому числу "а"

        printf("%d-sovershennoe chislo\n", a);    //значит число совершенное выводим как совершенное

    c=a;                                        

    for(c,pol=0;c>=1;c=c/10)                    //создаем число "перевертышь" (число 12345, его "перевертышь" 54321)

        {d=c%10;                                //путем определения остатка от деления на 10

        c=c-d;                                    //отнимая последнюю цифру и деля на 10 исходное число(в начале цикла)

        pol=(pol*10)+d;                            //формируем число "перевертышь"                 

        }

    

    if(a==pol)                                    //сравниваем число перевертышь с исходным "а"

        printf("%d- polindrom\n",a);            //если исходное и "перевертышь" равны, значит полиндром и выводим как полиндром

    

    }

}

}
Ответить

Вернуться в «Программирование и базы данных»