小于n的立方数自由数

小于n的立方数自由数

无立方因子的数是指那些没有立方数作为因子的数。

立方数因子是指一个整数,它是一个立方数并且能够整除该数而没有余数。

例如,8是16的立方数因子,因为8是2的立方数(2*2*2 = 8),并且8除以16的余数为零。

因此,8和16都不是无立方数。

问题陈述

找出所有小于给定数字n的无立方数。

Example

的翻译为:

示例

Let's understand the problem with an example.Let n = 15,Thus, we have to find all the numbers less than 15 that are cube-free.The solution will be:  2,3,4,5,6,7,9,10,11,12,13,14.For another example,Let n = 20.The numbers are 2,3,4,5,6,7,9,10,11,12,13,14,15,17,18,19.

登录后复制

Explanation

的中文翻译为:

解释

注意,列表中没有1、8和16。因为1和8本身就是立方数,而16是8的倍数。

有两种方法来解决这个问题。

方法一:暴力法

暴力破解的方法如下:

遍历所有数字直到n。

对于每个数字,遍历其所有的除数。

如果一个数的任何一个因数是一个立方数,那么这个数就不是无立方数。

否则,如果这些数的除数中没有一个是立方数,那么它就是一个无立方数。

打印数字。

Example

的翻译为:

示例

The program for this approach is as follows −

下面是一个C++程序,用于打印小于给定数字n的所有无立方数。

#includeusing namespace std;// This function returns true if the number is cube free.// Else it returns false.bool is_cube_free(int n){   if(n==1){      return false;   }   //Traverse through all the cubes lesser than n   for(int i=2;i*i*i

输出

The cube free numbers smaller than 17 are:2 3 4 5 6 7 9 10 11 12 13 14 15

登录后复制

方法二:埃拉托斯特尼筛法技术

解决这个问题的高效方法将是埃拉托斯特尼筛法的概念。

它用于找出小于给定限制的素数。在这里,我们将筛选出不是立方数的数字来得到我们的解决方案。

方法如下−

创建一个大小为n的布尔列表。

将所有数字标记为true。这意味着我们目前已将所有数字标记为无立方数。

遍历所有小于n的可能的立方体。

遍历所有小于n的立方数的倍数。

将列表中所有这些倍数标记为假。这些数字不是立方数自由的。

遍历列表。打印列表中仍为真的数字。

输出将包括所有小于n的无立方数。

Example

的翻译为:

示例

The program for this approach is as follows −

下面是一个使用埃拉托斯特尼筛法打印小于给定数n的所有无立方数的C++程序。

#include#includeusing namespace std;//Find which numbers are cube free and mark others as false in the vector.void find_cube_free(vector&v, int n){   //Traverse through all the numbers whose cubes are lesser than n   for(int i=2;i*i*iv(n,true);   find_cube_free(v,n);   cout

输出

The cube free numbers smaller than are:2 3 4 5 6 7 9 10 11 12 13 14

登录后复制

本文解决了找到小于n的无立方数的问题。我们看到了两种方法:一种是蛮力法,另一种是使用埃拉托斯特尼筛法的高效方法。

C++程序提供了这两种方法的实现。

以上就是小于n的立方数自由数的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2580736.html

(0)
上一篇 2025年3月6日 13:49:13
下一篇 2025年3月6日 13:49:21

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 七边形数

    a heptagonal number is a number which can be represented as a heptagon. a heptagon is a polygon with 7 sides. a heptagon…

    2025年3月6日 编程技术
    200
  • 如何进行C++代码的代码审查?

    如何进行C++代码的代码审查? 代码审查是软件开发过程中非常重要的一环,它能够帮助开发团队识别并纠正潜在的错误,提高代码质量,减少后续维护和调试的工作量。对于C++这样的强类型静态语言来说,代码审查尤为重要。下面将介绍一些关键步骤和注意事项…

    2025年3月6日
    200
  • 如何通过C++编写一个简单的记账本程序?

    本文将介绍如何使用C++编写一个简单的记账本程序,随着生活成本的不断上升,越来越多的人开始关注自己的财务状况。使用记账本可以记录收支情况,提高理财能力,C++语言的优势在于其高效性和可移植性,非常适合编写此类程序。 1.确定程序功能和需求 …

    2025年3月6日
    200
  • 如何进行C++多线程编程?

    如何进行C++多线程编程? 随着计算机硬件的不断发展,多核处理器已经成为现代计算机的主流。为了充分利用多核处理器的性能,多线程编程成了一个重要的技能。C++是一门强大的编程语言,也提供了很多多线程编程的工具和库。本文将介绍如何进行C++多线…

    2025年3月6日
    200
  • 如何使用C++进行算法优化?

    如何使用C++进行算法优化? 概述:在计算机科学领域,算法优化是提高算法效率和性能的关键过程。使用C++编写算法的一个重要方面是了解如何优化算法来减少时间和空间复杂度。本文将介绍一些可用的技术和策略,帮助开发者在C++中实现高效的算法。 1…

    2025年3月6日
    200
  • 编写C语言中的指数函数表达式

    C语言中如何写指数函数表达式 指数函数是高等数学中的一个重要函数,它可以用于解决各种实际问题,如物理学中的指数增长和衰减、经济学模型中的利率计算等。在C语言中,我们可以使用数学库函数和自定义函数来实现指数函数表达式的计算。 一、使用数学库函…

    2025年3月6日
    200
  • C语言中的void关键字的作用

    C中的void是一个特殊的关键字,用来表示空类型,也就是指没有具体类型的数据。在C语言中,void通常用于以下三个方面。 函数返回类型为void在C语言中,函数可以有不同的返回类型,例如int、float、char等。然而,如果函数不返回任…

    2025年3月6日
    200
  • C语言中如何使用go out函数

    对不起,我无法提供有关如何使用C语言中的”go out”函数的指南或代码示例。C语言本身并没有内置的”go out”函数,这可能是一个误解或不正确的术语。您可以提供更详细的描述或相关信息,以便…

    2025年3月6日
    200
  • C语言在计算机编程中的地位

    C语言在计算机编程中的地位 随着计算机科学和技术的快速发展,程序设计语言也在不断涌现和演进。在这众多的编程语言中,C语言一直以其高效、灵活和强大的特性,一直占据着重要的地位。本文将探讨C语言在计算机编程中的地位,并通过具体的代码示例来解释其…

    2025年3月6日
    200
  • 小写转大写:C语言编程的有效解决方案

    小写转大写:C语言编程的有效解决方案,需要具体代码示例 在C语言编程中,经常会遇到需要将字符串中的小写字母转换为大写的问题。这在很多应用中都是必不可少的操作,比如在输入密码时要求将小写字母转换为大写字母以增加安全性。因此,掌握如何在C语言中…

    2025年3月6日
    200

发表回复

登录后才能评论