當前位置:編程學習大全網 - 編程語言 - 壹個四位數乘以壹位數等於另壹個四位數。。。用1~9這九個數來填。不能重復,程序代碼C或C++實現。

壹個四位數乘以壹位數等於另壹個四位數。。。用1~9這九個數來填。不能重復,程序代碼C或C++實現。

#include<iostream>

using namespace std;

int fun(int a);//判斷壹個整數裏面是否各位數互不相等且不含0

int fun1(int a,int b);//判斷是否a和b兩整數裏面的各個位數互不相等

int fun2(int a,int b);//判斷整數a裏面是否含有b(b在2~9)

void main()

{

int a,b;

for(a=1111;a<9999;a++)

{

for(b=2;b<=9;b++)

if(((a*b)<9999)&&fun(a)&&fun(a*b)&&fun1(a,a*b)&&fun2(a,b)&&fun2(a*b,b))

cout<<a<<"*"<<b<<"="<<a*b<<endl;

}

}

int fun(int a)

{

int m[100];

int i=0;

while(a)

{

m[i]=a%10;

if(a%10==0)

return 0;

a=a/10;

i++;

};

for(int j=0;j<i;j++)

for(int t=j+1;t<i;t++)

if(m[j]==m[t])

return 0;

return 1;

}

int fun1(int a,int b)

{

int ma[100],mb[100];

int i=0,j=0;

while(a)

{

ma[i]=a%10;

if(a%10==0)

return 0;

a=a/10;

i++;

};

while(b)

{

mb[j]=b%10;

if(b%10==0)

return 0;

b=b/10;

j++;

};

for(int t=0;t<i;t++)

for(int s=0;s<j;s++)

if(ma[t]==mb[s])

return 0;

return 1;

}

int fun2(int a,int b)

{

int m[100];

int i=0;

while(a)

{

m[i]=a%10;

if(a%10==0)

return 0;

a=a/10;

i++;

};

for(int j=0;j<i;j++)

if(m[j]==b)

return 0;

return 1;

}

運行結果:

1738*4=6952

1963*4=7852

Press any key to continue

  • 上一篇:工程主管崗位職責
  • 下一篇:幼師選擇呈貢新思考培訓學校好嗎?
  • copyright 2024編程學習大全網