Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Работа для программиста > Фриланс
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.07.2010, 08:35   #11
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А что такое счастливые дружественные и совершенные числа?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.07.2010, 09:58   #12
Virtson
Владимир М.
Участник клуба
 
Аватар для Virtson
 
Регистрация: 30.10.2006
Сообщений: 1,289
По умолчанию

счастливые числа - которым помогли появиться на свет 'за спасибо'
Берегите друг друга!
Virtson вне форума Ответить с цитированием
Старый 06.07.2010, 15:25   #13
Loji
Новичок
Джуниор
 
Регистрация: 04.07.2010
Сообщений: 38
По умолчанию

//Visual C++ CLR
#include "stdafx.h"
using namespace System;
public ref class SearchNumbers abstract{
public:


//Совершенные числа
static System::Collections::Queue^ PerfectNumbers(int Interval1,int Interval2){
System::Collections::Queue^list= gcnew ::Collections::Queue();
int deal;
if(Interval1>1){
for(int i=Interval1;i<=Interval2;i++){
deal=0;
for(int j=i-1;j!=0;j--){
if(i%j==0){deal+=j;};
};
if(i==deal){list->Enqueue(i);};
};};
return list;
};


//Дружественные числа
static System::Collections::Queue^ FriendNumbers(unsigned int Interval1,unsigned int Interval2){
System::Collections::Queue^list= gcnew ::Collections::Queue();
int deal;
int deal1;
if(Interval1>1){
for(int i=Interval1;i<=Interval2;i++){
if(list->Contains(i)==true){i++; continue;};
deal=0;
for(int j=i-1;j!=0;j--){
if(i%j==0){deal+=j;};
};
deal1=0;
for(int k=deal-1;k!=0;k--){
if(deal%k==0){deal1+=k;};
};
if(deal1==i){list->Enqueue(i);list->Enqueue(deal);};
};
};
return list;
};


//Счастливые числа
static System::Collections::Queue^happines sNumber(unsigned long Interval1,unsigned long Interval2){
System::Collections::Queue^list= gcnew ::Collections::Queue();
if(Interval1>0){
unsigned int j;
unsigned int sum2;
unsigned int jk;
bool f;
Byte razr;

for(unsigned long i=Interval1;i<=Interval2;i++){
jk=1;
j=9;
razr=1; //Разрядность числа
f=false;
while(i>j){razr++;j+=90*jk; jk*=10;};
if(razr%2!=0){i*=10;razr++; f= true;};

sum2=0;
jk=0;
j=10;
for(int k=1;k<=razr;k++){
if(k<=razr/2){jk+=Math::Truncate((i%j)/(j/10));}else{
sum2+=Math::Truncate((i%j)/(j/10));};
j*=10;
};
if(jk==sum2){
if(f==false){
list->Enqueue(i);}else{list->Enqueue(i/10);};
};
if(f==true){i=(unsigned long)(i/10);};
};
};
return list;
};
};

void main()
{
System::Collections::Queue^list=Sea rchNumbers::PerfectNumbers(2,1000);
Console::WriteLine("Совершенные:");
for each(Object^ obj in list){
Console::WriteLine(dynamic_cast<int ^>(obj)->ToString());
};
list=SearchNumbers::FriendNumbers(2 ,1000);
Console::WriteLine("Дружественные пары чисел:");
for each(Object^ obj in list){
Console::WriteLine(Convert::ToInt32 (obj).ToString());
};
list=SearchNumbers::happinessNumber (2000,3000);
Console::WriteLine("Счастливые числа:");
for each(Object^ obj in list){
Console::WriteLine(Convert::ToStrin g(obj));
};

Console::ReadKey(false);

}

Последний раз редактировалось Loji; 06.07.2010 в 15:29.
Loji вне форума Ответить с цитированием
Старый 06.07.2010, 19:47   #14
RIO
Форумчанин
 
Аватар для RIO
 
Регистрация: 15.12.2007
Сообщений: 422
По умолчанию

Реализую быстро и качественно, моя аська 371824579
RIO вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
программа поиска Delphi Тант Зин Помощь студентам 0 15.05.2010 14:55
Pascal для определения 5 первых совершенных чисел T@tali Помощь студентам 2 06.05.2010 22:10
Нахождение совершенных чисел. Паскаль NikLik Помощь студентам 3 23.11.2007 22:19