using System;
using System.Collections.Generic;
using System.Text;
//用一个四位数A乘以一个个位数B等于一个四为位数C...要求每一位数不能重复.还有没有别的方法...赐教
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
int a, b, c;
for (int i = 1234; i < 9999; i++)
{
a =i;
int a1 = (int)a / 1000;
int a2 = (int)(a - a1*1000) / 100;
int a3 = (int)(a - (a1*1000 + a2*100)) / 10;
int a4 =(a-(a1*1000+a2*100+a3*10));
if((a1 !=a2) & (a1!=a3) & (a1!= a4)&a2!=a3 & a2!=a4 &a3!=a4 & a<9999)
{
for (int g=1;g<=9 ;g++ )
{
b = g;
c = a * b;
int c1 = (int)c / 1000;
int c2 = (int)(c - c1*1000) / 100;
int c3 = (int)(c - (c1*1000 + c2*100)) / 10;
int c4 = (c - (c1*1000 + c2*100 + c3*10));
if (b != a1 & b != a2 & b != a3 & b != a4 & b != c1 & b != c2 & b != c3 & b != c4 & c1 != c2 & c1 != c3 & c1 != c4 & c2 != c3 & c2 != c4 & c3 != c4 & c < 9999 & a1 != c1 & a1 != c2 & a1 != c3 & a1 != c4 & a2 != c1 & a2 != c2 & a2 != c3 & a2 != c4 & a3 != c1 & a3 != c2 & a3 != c3 & a3 != c4 & a4 != c1 & a4 != c2 & a4 != c3 & a4 != c4 & a2 != 0 & a3 != 0 & a4 != 0 & c2 != 0 & c3 != 0 & c4 != 0)
//这一块让人看的晕.有没有更简单的办法啊..
{
Console.WriteLine("{2}={0}*{1}",a,b,c);
}
}
}
} }
}
}
using System.Collections.Generic;
using System.Text;
//用一个四位数A乘以一个个位数B等于一个四为位数C...要求每一位数不能重复.还有没有别的方法...赐教
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
int a, b, c;
for (int i = 1234; i < 9999; i++)
{
a =i;
int a1 = (int)a / 1000;
int a2 = (int)(a - a1*1000) / 100;
int a3 = (int)(a - (a1*1000 + a2*100)) / 10;
int a4 =(a-(a1*1000+a2*100+a3*10));
if((a1 !=a2) & (a1!=a3) & (a1!= a4)&a2!=a3 & a2!=a4 &a3!=a4 & a<9999)
{
for (int g=1;g<=9 ;g++ )
{
b = g;
c = a * b;
int c1 = (int)c / 1000;
int c2 = (int)(c - c1*1000) / 100;
int c3 = (int)(c - (c1*1000 + c2*100)) / 10;
int c4 = (c - (c1*1000 + c2*100 + c3*10));
if (b != a1 & b != a2 & b != a3 & b != a4 & b != c1 & b != c2 & b != c3 & b != c4 & c1 != c2 & c1 != c3 & c1 != c4 & c2 != c3 & c2 != c4 & c3 != c4 & c < 9999 & a1 != c1 & a1 != c2 & a1 != c3 & a1 != c4 & a2 != c1 & a2 != c2 & a2 != c3 & a2 != c4 & a3 != c1 & a3 != c2 & a3 != c3 & a3 != c4 & a4 != c1 & a4 != c2 & a4 != c3 & a4 != c4 & a2 != 0 & a3 != 0 & a4 != 0 & c2 != 0 & c3 != 0 & c4 != 0)
//这一块让人看的晕.有没有更简单的办法啊..
{
Console.WriteLine("{2}={0}*{1}",a,b,c);
}
}
}
} }
}
}
static void Main(string[] args)
{
int a, b;
//b最小是2
for(b=2;b<=9;b++)
{
// a最小是1234 最大是9999/b
for(a=1234;a<=9999/b;a++)
{
if(a*b<=9999)
{//这里用linq有点丑 杀鸡用牛刀, 但是代码简单
var group = from ch in (a.tostring()+b.tostring()+(a*b).tostring()) group ch by ch;
if(group.count=9)
Console.WriteLine("{2}={0}*{1}",a,b,a*b);
}
}
}
}