问题描述:
一共有359964张车牌,每张车牌都不可出现4,现在一项有324张车牌,例如:第一箱车牌最后一张是500,第二箱车牌最后一张是900,现在求出每一箱最后一张车牌
思路:
先定义数组359964,先求出有多少张没有4的,然后定义数组将没有4的数赋值进去,最后求出每一组最后一个车牌数值。
代码:
using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
//359964
int[] a = new int [359964];//总
int judge = 0;//判断变量
int temp = 0;//临时变量
int count = 0;//含4的总数
int num = 0;//不含4的变量
for (int i =0; i < 359964; i++)//初始化a
{
a[i] = i+1;
}
//a中含有4的置为0
for (int i = 0; i < 359964; i++)
{
temp = a[i];
while (temp > 0)
{
judge = temp % 10;
if (judge == 4)
{
a[i]=0;
count++;
break;
}
temp = temp / 10;
}
}
num = 359964 - count;
//Console.WriteLine("一共有这些号码里面没有4:"+num);
//int[] b = new int[209919];//所有不含4的数
int[] b = new int[359964 - count];//所有不含4的数
//数组a中的非0赋值给数组b
for (int i = 0, j = 0; i < 359964; i++)
{
if (a[i] != 0)
b[j++] = a[i];
}
for (int i = 0, j = 1; i < 209919 && j < 648; j++)
{
i = (324 * j) - 1;
Console.WriteLine("第" + j + "组:" + b[i]);
}
}
}
}