博得一笑

编程只为博得一笑

所有的代码都自己敲……
    所有的BUG都自己找……
 

博得写的博客

写博客的博得
2005自制游戏《小鱼蛋与小仙女》 下载  Hot      学思湖怪超COOL文字生成器II黄金特别版——华丽登场!!!  New Cool Hot

//By BodeSmile
//Start at : 2005-2-15 21:50
//Algorithm :
//note :

#include <iostream>

using namespace std;

class Base_12;

class Base_16
{
public:
 Base_16(int a,int b,int c,int d)
 {
  num[0]=d;
  num[1]=c;
  num[2]=b;
  num[3]=a;
 }
 void B16_Add()
 {
  if(num[0]<15)
  {
   num[0]++;
  }
  else if(num[1]<15)
  {
   num[0]=0;
   num[1]++;
  }
  else if(num[2]<15)
  {
   num[0]=0;
   num[1]=0;
   num[2]++;
  }
  else
  {
   num[0]=0;
   num[1]=0;
   num[2]=0;
   num[3]++;
  }
 }
 
 friend bool Comp12And16(int i,Base_12 Num12,Base_16 Num16);

private:
 int num[4];
};

class Base_12
{
public:
 Base_12(int a,int b,int c,int d)
 {
  num[0]=d;
  num[1]=c;
  num[2]=b;
  num[3]=a;
 }
 void B12_Add()
 {
  if(num[0]<11)
  {
   num[0]++;
  }
  else if(num[1]<11)
  {
   num[0]=0;
   num[1]++;
  }
  else if(num[2]<11)
  {
   num[0]=0;
   num[1]=0;
   num[2]++;
  }
  else
  {
   num[0]=0;
   num[1]=0;
   num[2]=0;
   num[3]++;
  }
 }

 friend bool Comp12And16(int i,Base_12 Num12,Base_16 Num16);

private:
 int num[4];
};

bool Comp12And16(int i,Base_12 Num12,Base_16 Num16)
{
 int temp=0;
 temp+=(i%10);
 i/=10;
 temp+=(i%10);
 i/=10;
 temp+=(i%10);
 i/=10;
 temp+=i;
 int temp1,temp2;
 temp1=Num12.num[0]+Num12.num[1]+Num12.num[2]+Num12.num[3];
 if(temp!=temp1)
  return false;
 temp2=Num16.num[0]+Num16.num[1]+Num16.num[2]+Num16.num[3];
 if(temp!=temp2)
  return false;
 return true;
}

int main()
{
 //
 Base_16 Num16(0,3,14,8);
 Base_12 Num12(0,6,11,4);
 int i;

 for(i=1000;i<10000;i++)
 {
  if(Comp12And16(i,Num12,Num16))
   cout<<i<<endl;
  Num16.B16_Add();
  Num12.B12_Add();
 }

 return 0;
}

posted on 2005-03-01 19:52  博得一笑  阅读(598)  评论(0编辑  收藏  举报