![Компьютерный форум OSzone.net](images/oszone.net.print.gif) |
|
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); //если исходное и "перевертышь" равны, значит полиндром и выводим как полиндром
}
}
}
|
partisanus, Конечно пригодится. :) Спасибо.
|
только вопрос, а зачем c=c-d; вот эта строка
она же не играет никакой роли?
|
Время: 22:02.
© OSzone.net 2001-