在C语言中,将数组中经过N次移动后的1的数量进行统计

在c语言中,将数组中经过n次移动后的1的数量进行统计

给定一个大小为 N 的数组。该数组最初全为 0。任务是数数。 N 次移动后数组中 1 的个数。每个第 N 步都有一个关联的规则。规则是 –

第一次移动 – 更改位置 1、2、3、4………….. 的元素

第二次移动 – 更改位置 2、4、6、8…………..

第三次移动 – 更改位置 3、6 处的元素, 9, 12…………..

立即学习“C语言免费学习笔记(深入)”;

统计最后一个数组中1的个数。

我们通过例子来理解。

>

输入 

Arr[]={ 0,0,0,0 } N=4

登录后复制

输出 

Number of 1s in the array after N moves − 2

登录后复制登录后复制

解释 – 后续移动后的数组 –

Move 1: { 1,1,1,1 }Move 2: { 1,0,1,0 }Move 3: { 1,0,0,3 }Move 4: { 1,0,0,1 }Number of ones in the final array is 2.

登录后复制

输入 

Arr[]={ 0,0,0,0,0,0} N=6

登录后复制

输出 

Number of 1s in the array after N moves − 2

登录后复制登录后复制

解释 – 后续移动后的数组 –

Move 1: { 1,1,1,1,1,1,1 }Move 2: { 1,0,1,0,1,0,1 }Move 3: { 1,0,0,1,0,0,1 }Move 4: { 1,0,0,0,1,0,0 }Move 5: { 1,0,0,0,0,1,0 }Move 4: { 1,0,0,0,0,0,1 }Number of ones in the final array is 2.

登录后复制

下面程序中使用的方法如下

我们采用一个用 0 和整数 N 初始化的整数数组 Arr[]。

函数 Onecount 将 Arr[] 及其大小 N 作为输入并返回 no。 N 次移动后最终数组中的个数。

for 循环从 1 开始直到数组末尾。

每个 i 代表第 i 步。

嵌套 for 循环从第 0 个索引开始直到数组末尾。

对于每个第 i 次移动,如果索引 j 是 i 的倍数(j%i==0),则将该位置的 0 替换为 1。

对每个 i 继续此过程,直到数组末尾。

注意 – 索引从 i=1,j=1 开始,但数组索引从 0 到 N-1。所以每次都会转换arr[j1]。

最后再次遍历整个数组,数no。其中包含 1 并存储在计数中。

返回所需结果的计数。

示例

 实时演示

#include int Onecount(int arr[], int N){   for (int i = 1; i 

输出

如果我们运行上面的代码,它将生成以下输出 -

Number of 1s in the array after N moves: 2

登录后复制

以上就是在C语言中,将数组中经过N次移动后的1的数量进行统计的详细内容,更多请关注【创想鸟】其它相关文章!

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

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

(0)
上一篇 2025年3月6日 14:12:13
下一篇 2025年2月27日 06:10:26

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

相关推荐

  • 在C++中,Midy的定理

    我们得到整数值a_num,它将存储分子和p_den,它将存储应该是素数的分母。任务是检查a_num除以p_den后的运算是否证明了midy定理。 证明Midy定理的步骤是- 输入分子为 a_num,分母为 p_den,应始终为素数。 将数字…

    2025年3月6日
    200
  • 在C语言中,将数组中的数字除以前一个数字后,求和

    数组是相同数据类型的元素序列。在这个问题中,我们将考虑使用整数数组来解决问题。在这个问题中,我们将通过将元素与其前面的元素相除来找到元素的总和。 让我们举几个例子来更好地理解这个问题 – 示例 1 – Array :…

    2025年3月6日
    200
  • 在一棵树中,使用C++查询子树的深度优先搜索

    在这个问题中,我们得到一棵二叉树,我们需要从特定节点执行 dfs,其中我们假设给定节点作为根并从中执行 dfs。 在上面的树中假设我们需要执行 DFS节点 F 在本教程中,我们将应用一些非正统的方法,以便大大降低我们的时间复杂度,因此我们也…

    2025年3月6日
    200
  • 在C语言中,二项式系数的最大项值是多少?

    给定一个正整数‘N’。我们需要找到所有二项式系数中的最大系数项。 二项式系数序列为nC0,nC1,nC2,…,nCr,…,nCn-2,nCn-1,nCn 找到nCr的最大值。 nCr = n! / r! * (n – r)! 登录后复制 输…

    2025年3月6日
    200
  • 使用C++从字符串中删除给定的单词

    在本文中,我们将解决从给定字符串中删除给定单词的问题。例如 – Input : str = “remove a given word ”, word = “ remove ”Output : “ a given word ”In…

    2025年3月6日
    200
  • C语言中的圣诞树程序

    在这里,我们将看到一个有趣的问题。在这个问题中,我们将看到如何随机打印圣诞树。因此,树会像圣诞树灯一样闪烁。 为了打印圣诞树,我们将打印各种大小的金字塔,一个接一个地放置。对于装饰叶子,将从给定的字符列表中随机打印一个字符。高度和随机性是可…

    2025年3月6日
    200
  • C语言编写的汉诺塔程序

    汉诺塔是一个数学难题。它由三根杆和若干个不同大小的圆盘组成,这些圆盘可以滑动到任意一根杆上。难题以圆盘按大小升序整齐堆叠在一根杆上开始,最小的圆盘在顶部。我们必须将相同的堆叠移到第三根杆上。 难题的目标是将整个堆叠移动到另一根杆上,遵守以下…

    2025年3月6日
    200
  • 获取和设置C语言中线程属性的堆栈大小

    要在C中获取和设置线程属性的堆栈大小,我们使用以下线程属性: pthread_attr_getstacksize() 用于获取线程堆栈大小。stacksize属性给出了分配给线程堆栈的最小堆栈大小。如果成功运行,则返回0,否则返回任何值。 …

    2025年3月6日
    200
  • 如何使用C语言将内容打印到文件中?

    我们可以用 C 编写一个程序,用于将一些内容打印到文件中,并打印以下内容 – 输入到文件中的字符数。 反转输入到文件中的字符。 首先,尝试通过以写入模式打开文件来将一定数量的字符存储到文件中。 用于输入将数据写入文件,我们使用如…

    2025年3月6日
    200
  • 解释C语言中逻辑运算符和赋值运算符的概念

    首先,让我们学习一下逻辑运算符。 逻辑运算符 这些用于逻辑上组合两个(或更多)表达式。 它们是逻辑与(&&)、逻辑或(||)和逻辑非(!) 逻辑与(&&) 立即学习“C语言免费学习笔记(深入)”; exp1 …

    2025年3月6日
    200

发表回复

登录后才能评论