用c# 怎么实现 : 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
答案:3 悬赏:0 手机版
解决时间 2021-01-26 18:59
- 提问者网友:玫瑰园
- 2021-01-26 13:04
程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。
最佳答案
- 五星知识达人网友:像个废品
- 2021-01-26 13:50
int[] array = { 1, 2, 3, 4 };
List<int> result = new List<int>();
foreach (int i in array)
{
int h = i * 100;
foreach (int ii in array)
{
if (ii != i)
{
int hh = h + ii * 10;
foreach (int iii in array)
{
if (iii != ii && iii != i)
{
int hhhh = hh + iii;
result.Add(hhhh);
}
}
}
}
}
textBox1.Text += "总数为:" + result.Count.ToString() + "\r\n各项值为:\r\n";
foreach(int rs in result)
{
textBox1.Text += rs.ToString() + "\r\n";
}数学学得不好,所以不保证是最高效率的方法,另外,自己拖多行文本框进去。
List<int> result = new List<int>();
foreach (int i in array)
{
int h = i * 100;
foreach (int ii in array)
{
if (ii != i)
{
int hh = h + ii * 10;
foreach (int iii in array)
{
if (iii != ii && iii != i)
{
int hhhh = hh + iii;
result.Add(hhhh);
}
}
}
}
}
textBox1.Text += "总数为:" + result.Count.ToString() + "\r\n各项值为:\r\n";
foreach(int rs in result)
{
textBox1.Text += rs.ToString() + "\r\n";
}数学学得不好,所以不保证是最高效率的方法,另外,自己拖多行文本框进去。
全部回答
- 1楼网友:你哪知我潦倒为你
- 2021-01-26 14:43
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _11
{
class Program
{
static void Main(string[] args)
{
int n = 0,a=0;
for(int i = 1; i < 5; i++)
{
for(int j = 1; j < 5; j++)
{
for(int k = 1; k < 5; k++)
{
if (i != j && j != k && i != k)
{
n++;
a = i + j * 10 + k * 100;
Console.WriteLine(a);
}
}
}
}
Console.WriteLine("不重复一共有{0}个",n);
Console.ReadLine();
}
}
}
- 2楼网友:拾荒鲤
- 2021-01-26 14:20
static void main(string[] args)
{
int count = 0;
int[] num = new int [5];
for (int i = 1; i < 5; i++)
{
for (int j = 1; j < 5; j++)
{
for (int k = 1; k < 5; k++)
{
if (i != j && k != j && i != k)
{
count ++;
console.writeline(100 * i + 10 * j + k);
}
}
}
}
console.writeline("1、2、3、4里组成不相同且无重复数字的三位数,共有{0}个",count);
console.read();
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯