Eeny Meeny Moo题解

在这里插入图片描述

题目描述

你肯定有过这样的经验,那就是当很多一起使用网络的时候,网速变得很慢很慢。为了解决这个问题,德国的Ulm大学开发了一份意外事故计划,当发生意外事故的时候,先将第1个城市停电,然后再将第m+1个城市停电。循环访问城市1到n,n的下一个位置是1。在访问的过程中,对于已经停过电的城市不考虑,剩下的没停过电的城市每隔m个就要停一次电。例如:如果 n=17 并且 m=5,网络将按如下顺序断开:[1,6,11,16,5,12,2,9,17,10,4,15,14,3,8,13,7].
你的任务是写一个程序,读入城市的数目,然后求出m值,m值是使第2个城市刚好在最后才被停电的最小整数。

输入输出格式

输入格式

输入包括一行或多行,每一行仅包括一个整数n,满足3 <= n < 150, 代表城市的数目。输入以n为0时结束。

输出格式

对于输入的每一行,输出满足上述条件的最小m值。

输入输出样例

输入样例

3
4
5
6
7
8
9
10
11
12
0

输出样例

2
5
2
4
3
11
2
3
8
16

正确解法

由于数据量小,因此我们可以进行打表:
下面是用来打表的程序:

#include <bits/stdc++.h>
using namespace std;
int city[200],out;
int fin(int n)
{
	for (int i=2; i<=n; i++)
		if (city[i]==0)
			return i;
}
int main() {
	freopen ("a.txt","w",stdout);
	printf ("int a[200]={0,0,0");
	for (int n=3,k; n<=150; n++)
	{
		out=1;
		for (k=2; out!=2; k++)
		{
			memset (city,0,sizeof(city));
			for (int i=2,tt=1; i<=n; i++)
			{
				for (int j=1; j<=k; j++)
				{
					tt++;
					if (tt>n)
						tt=fin(n);
					if (city[tt]==1)
						j--;
				}
				city[tt]=1;
				out=tt;
			}
		}
		printf(",%d",k-1);
	}
	printf ("};");
	return 0;
}

它将会把数组保存到a.txt文本文档中。

A C 代码

根据上面的数组,我们可以得到正确的代码;

#include <bits/stdc++.h>
using namespace std;
int a[200]={0,0,0,2,5,2,4,3,11,2,3,8,16,4,21,6,5,2,11,20,34,8,15,10,7,13,11,13,45,18,23,8,3,2,25,75,42,13,5,23,13,50,16,18,89,38,8,39,30,29,38,7,45,23,137,46,63,17,48,5,46,34,140,33,39,2,28,29,79,33,48,3,10,46,120,6,37,17,8,44,15,160,20,35,144,104,179,153,24,8,265,19,9,62,7,139,19,44,93,182,27,158,185,193,17,82,3,11,43,55,21,41,146,29,80,59,8,29,66,19,160,59,28,129,127,120,72,45,157,2,63,127,81,318,513,98,28,32,231,236,411,26,45,5,303,228,66,9,205,65,39};
int n;
int main()
{
	while (scanf("%d",&n))
	{
		if (n==0)
			break;
		cout <<a[n] <<endl;
	}
	return 0;
}

C++的发展

C++是一种通用的、高级的编程语言,它是C语言的扩展。C++由Bjarne Stroustrup于1983年首次引入,并在之后的几十年中不断发展壮大。C++被广泛应用于各种领域,包括系统开发、游戏开发、嵌入式系统、图形用户界面(GUI)开发等。

C++的设计目标

C++的设计目标是提供一种高效、灵活和可扩展的编程语言,同时保持与C语言的兼容性。它支持面向对象编程(OOP)和泛型编程,这使得开发人员能够以更高的抽象级别来组织和管理代码。

C++的特性

  • 面向对象编程(OOP):C++是一种面向对象的编程语言,它支持类和对象的概念。类是一种用户定义的数据类型,它封装了数据和操作数据的方法。对象是类的实例,可以通过调用类的方法来访问和操作数据。C++的面向对象编程提供了封装、继承和多态等核心概念,使得代码更易于组织、理解和维护。

  • 泛型编程:C++引入了模板(templates)的概念,使得开发人员可以编写通用的代码,可以在不同的数据类型上进行操作。模板允许开发人员定义泛型函数和类,这些函数和类可以根据实际使用的数据类型进行实例化。这提高了代码的灵活性和可重用性,使得开发人员可以编写更通用和高效的代码。

  • 标准库:C++标准库是一组预定义的类和函数,提供了丰富的功能和数据结构。标准库包括容器(如向量、列表、映射等)、算法(如排序、搜索等)、输入输出(如文件操作、流操作等)等。使用标准库可以大大简化开发过程,提高开发效率。

  • 内存管理:C++允许开发人员直接管理内存,包括动态分配和释放内存。开发人员可以使用关键字new来动态分配内存,并使用关键字delete来释放内存。然而,手动管理内存可能会导致内存泄漏和悬挂指针等问题。为了避免这些问题,C++还提供了智能指针(如shared_ptr和unique_ptr),它们可以自动管理内存的生命周期。

  • 异常处理:C++支持异常处理机制,允许开发人员在程序执行过程中处理错误和异常情况。开发人员可以使用try、catch和throw关键字来捕获和处理异常。异常处理机制可以提高程序的健壮性和可靠性,使得开发人员能够更好地处理错误情况。

  • 多线程支持:C++11引入了对多线程编程的支持。开发人员可以使用std::thread类和相关的同步原语(如互斥锁和条件变量)来创建和管理线程。多线程编程可以提高程序的并发性和性能,但也需要注意线程安全和同步的问题。

  • 操作系统和硬件访问:C++允许开发人员直接访问底层操作系统和硬件。通过使用系统调用和特定的库函数,开发人员可以编写与操作系统和硬件交互的代码。这使得C++在系统开发和嵌入式系统等领域得到广泛应用。

  • 第三方库和框架:C++有许多强大的第三方库和框架可供使用。这些库和框架提供了各种功能和工具,如图形用户界面(GUI)、网络编程、数据库访问等。使用第三方库和框架可以加快开发速度,减少重复工作。

  • 高性能:C++是一种编译型语言,可以生成高效的机器码。它提供了对底层硬件的直接访问,使得开发人员能够编写高性能的代码。这使得C++在系统开发和游戏开发等对性能要求较高的领域得到广泛应用。

  • 跨平台支持:C++可以在多个操作系统上运行,包括Windows、Linux、Mac等。这使得开发人员可以编写一次代码,然后在不同的平台上进行编译和运行,提高了开发效率。

C++的挑战

尽管C++具有许多优点,但也有一些挑战和注意事项。由于其复杂性和灵活性,C++的学习曲线较陡峭,需要花费一定的时间和精力来掌握。此外,由于C++允许直接管理内存,开发人员需要更加谨慎地处理内存相关的问题,以避免潜在的错误。

总的来说,C++是一种功能强大、灵活且高效的编程语言,适用于各种应用场景。它在计算机科学和软件工程领域有着广泛的应用,是一门值得学习和掌握的编程语言。它提供了丰富的特性和工具,使得开发人员能够编写高质量、可维护和高性能的代码。然而,由于其复杂性和灵活性,学习和掌握C++可能需要一定的时间和经验。

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
傻瓜快速了解5g Ixia特别修订版 5g-for-dummies INTRODUCTION................................................................................................ 1 About This Book.................................................................................... 2 Foolish Assumptions............................................................................. 2 Icons Used in This Book........................................................................ 3 Beyond the Book................................................................................... 3 Where to Go from Here........................................................................ 3 CHAPTER 1: Understanding the Journey to a 5G Future............. 5 Tracing the Evolution of Wireless Communications......................... 5 Focusing on the 5G Vision.................................................................... 8 Ordering Up 5G in Five Easy Pieces.................................................... 9 CHAPTER 2: Achieving Faster Speeds and Larger Feeds...........11 Fattening the Data Pipe......................................................................11 We All Bundle — with CA....................................................................13 Eeny, Meeny, Miny, MIMO..................................................................14 No Qualms About QAM......................................................................15 CHAPTER 3: Tapping into Unlicensed Spectrum..............................17 Giving a “High 5(G)” to Wi-Fi Advancements....................................17 LTE in Unlicensed Spectrum..............................................................18 License Assisted Access......................................................................19 MulteFire..............................................................................................20 CHAPTER 4: Enabling Massive IoT................................................................21 Key Connectivity Requirements for IoT Devices..............................21 NarrowBand IoT (NB-IoT)...................................................................22 Long Term Evolution for Machines (LTE-M).....................................23 LoRaWAN and Sigfox..........................................................................23 CHAPTER 5: Getting Real About the Need to Virtualize............25 Driving 5G and IoT with Virtualization..............................................25 Recognizing the IoT explosion......................................................26 Focusing on service.......................................................................26 Managing the migration................................................................

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值