csharp基础练习题:简单有趣#34:数字分组【难度:1级】--景越C#经典编程题库,不同难度C#练习题,适合自学C#的新手进阶训练

csharp基础练习题:简单有趣#34:数字分组【难度:1级】:

任务

现在给你你想要几个组之间分配整数数组.第一组应包含从1到10的数字 4 中,第二应包含那些从10 4 + 1至2×10 4 ,. …,100 个一个应当从99×10包含数字 4 + 1~10 6 等.

所有数字将整组以这样的方式在文本文件中写下:


组走了一个又一个;
每个非空组具有占用一个线的头部;
一组中的每个数占一行.

计算得到的文本文件将有多少行有.

示例

对于一个= [20000,239,10001,999999,10000,20566,29999],
 
 输出应该是11.

这些数字可以分为4组:

239和10000转到第一组(1 … 10 4 );

10001 20000转到第二个第二(10 4 + 1 … 2×10 4 );

20566和29999转到第三组(2×10 4 + 1 … 3×10 4 );
 
 基团的4至99是空的;
 
 999999前进到100 个组(99 * 10 4 + 1 … 10 6 ).
 
 因此,将有4组(即,四个头)和7号,
 
 因此文件将占据4 + 7 = 11行.

该文件是这样的:


1-10000:
239
10000
10001-20000:
10001
20000
20001-30000:
20566
29999
990001-1000000:
999999

输入输出

- [输入]整数数组A

约束:1个≤则为a.length≤10 4 ,1≤A [1]≤10 6 .

- [输出]的整数

所需行数来存储分组编号.

编程目标:

namespace myjinxin
{
    using System;
    public class Kata
    {
        public int NumbersGrouping(int[] a){
          //coding and coding..
        }
    }
}


测试样例:

namespace myjinxin
{
    using NUnit.Framework;
    using System;
    [TestFixture]
    public class myjinxin
    {
            var kata=new Kata();
            Assert.AreEqual(11,  kata.NumbersGrouping(new int[]{20000, 239, 10001, 999999, 10000, 20566, 29999}));
            Assert.AreEqual(23,  kata.NumbersGrouping(new int[]{10000, 20000, 30000, 40000, 50000, 60000, 10000, 120000, 150000, 200000, 300000, 1000000}));
            Assert.AreEqual(2,  kata.NumbersGrouping(new int[]{10000}));


最佳答案(多种解法):

点击查看答案

更多关联题目:

csharp基础练习题:完成该模式#2【难度:1级】–景越C# 经典编程题库,不同难度C# 练习题,适合自学C# 的新手进阶训练
csharp基础练习题:[里德尔由代码]两个探子【难度:1级】–景越C# 经典编程题库,不同难度C# 练习题,适合自学C# 的新手进阶训练
csharp基础练习题:计算总膳食【难度:1级】–景越C# 经典编程题库,不同难度C# 练习题,适合自学C# 的新手进阶训练

免责申明

本博客所有编程题目及答案均收集自互联网,主要用于供网友学习参考,如有侵犯你的权益请联系管理员及时删除,谢谢
题目收集至https://www.codewars.com/
https://www.codewars.com/kata/simple-fun-number-34-numbers-grouping

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值