目录
下面程序中使用的方法如下
示例
输出
首页 后端开发 C++ 在C语言中,将数组中经过N次移动后的1的数量进行统计

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

Sep 11, 2023 pm 04:25 PM
c语言 数组移动 的统计

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

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

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

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

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

统计最后一个数组中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[]。

    < /li>
  • 函数 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 <stdio.h>
int Onecount(int arr[], int N){
   for (int i = 1; i <= N; i++) {
      for (int j = i; j <= N; j++) {
         // If j is divisible by i
         if (j % i == 0) {
            if (arr[j - 1] == 0)
               arr[j - 1] = 1; // Convert 0 to 1
            else
               arr[j - 1] = 0; // Convert 1 to 0
         }
      }
   }
   int count = 0;
   for (int i = 0; i < N; i++)
      if (arr[i] == 1)
         count++; // count number of 1&#39;s
   return count;
}
int main(){
   int size = 6;
   int Arr[6] = { 0 };
   printf("Number of 1s in the array after N moves: %d", Onecount(Arr, size));
return 0;
}
登录后复制

输出

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

Number of 1s in the array after N moves: 2
登录后复制

以上是在C语言中,将数组中经过N次移动后的1的数量进行统计的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

char在C语言中如何处理特殊字符 char在C语言中如何处理特殊字符 Apr 03, 2025 pm 03:18 PM

C语言中通过转义序列处理特殊字符,如:\n表示换行符。\t表示制表符。使用转义序列或字符常量表示特殊字符,如char c = '\n'。注意,反斜杠需要转义两次。不同平台和编译器可能有不同的转义序列,请查阅文档。

char在C语言中如何进行类型转换 char在C语言中如何进行类型转换 Apr 03, 2025 pm 03:21 PM

在 C 语言中,char 类型转换可以通过:强制类型转换:使用强制类型转换符将一种类型的数据直接转换为另一种类型。自动类型转换:当一种类型的数据可以容纳另一种类型的值时,编译器自动进行转换。

char数组在C语言中如何使用 char数组在C语言中如何使用 Apr 03, 2025 pm 03:24 PM

char 数组在 C 语言中存储字符序列,声明为 char array_name[size]。访问元素通过下标运算符,元素以空终止符 '\0' 结尾,用于表示字符串终点。C 语言提供多种字符串操作函数,如 strlen()、strcpy()、strcat() 和 strcmp()。

C语言 sum 的作用是什么? C语言 sum 的作用是什么? Apr 03, 2025 pm 02:21 PM

C语言中没有内置求和函数,需自行编写。可通过遍历数组并累加元素实现求和:循环版本:使用for循环和数组长度计算求和。指针版本:使用指针指向数组元素,通过自增指针遍历高效求和。动态分配数组版本:动态分配数组并自行管理内存,确保释放已分配内存以防止内存泄漏。

char在C语言字符串中的作用是什么 char在C语言字符串中的作用是什么 Apr 03, 2025 pm 03:15 PM

在 C 语言中,char 类型在字符串中用于:1. 存储单个字符;2. 使用数组表示字符串并以 null 终止符结束;3. 通过字符串操作函数进行操作;4. 从键盘读取或输出字符串。

char在C语言中如何表示字符 char在C语言中如何表示字符 Apr 03, 2025 pm 03:27 PM

char数据类型在C语言中表示单个字符,用于存储字符或ASCII码值。1. 存储字符常量(例如'a') 2. 存储ASCII码值(例如65代表大写字母'A')

如何在C语言中给char变量赋值 如何在C语言中给char变量赋值 Apr 03, 2025 pm 03:30 PM

在 C 语言中给 char 变量赋值的方法有:使用单引号赋值,例如:char ch = 'a';使用字符常量赋值,例如:char ch = '\n';使用算术赋值,例如:char ch = 'a' 1;使用指针赋值,例如:char ptr = "Hello"; char ch = ptr;

避免 C语言 switch 语句中 default 引起的错误 避免 C语言 switch 语句中 default 引起的错误 Apr 03, 2025 pm 03:45 PM

避免 C 语言 switch 语句中 default 引发的错误的策略:使用枚举代替常量,限制 case 语句的值为枚举的有效成员。在最后一个 case 语句中使用 fallthrough,让程序继续执行以下代码。对于没有 fallthrough 的 switch 语句,始终添加一个 default 语句进行错误处理或提供默认行为。

See all articles