Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Найти все простые, совершенные и полиндромы на заданном промежутке в Си (http://forum.oszone.net/showthread.php?t=249263)

partisanus 16-12-2012 15:02 2046425

Найти все простые, совершенные и полиндромы на заданном промежутке в Си
 
Долго мучался, но все-таки решил.
Может кому-то пригодится...

PHP код:

#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);            //если исходное и "перевертышь" равны, значит полиндром и выводим как полиндром
    
    
}
}



Drongo 17-12-2012 22:17 2047629

partisanus, Конечно пригодится. :) Спасибо.

monklord 02-05-2013 00:07 2143072

только вопрос, а зачем c=c-d;
Цитата:

Цитата partisanus
c=c-d; »

вот эта строка
она же не играет никакой роли?


Время: 22:02.

Время: 22:02.
© OSzone.net 2001-