计算C语言中没有连续1的二进制字符串的数量

计算c语言中没有连续1的二进制字符串的数量

给定的任务是计算长度为 n 的所有二进制字符串中没有连续 1 的数量。

二进制数字系统是数字表示技术的一种。它在数字系统中最流行和使用。二进制系统用于表示二进制量,该二进制量可以由任何仅具有两种操作状态或可能条件的设备来表示。例如,开关只有两种状态:打开或关闭。

在二进制系统中,只有两个符号或可能的数字值,即 0 和 1。由任何只有 2 的设备表示操作状态或可能的条件。二进制字符串是那些包含二进制值的字符串,即 0 或 1

现在让我们使用示例来了解我们必须做什么 –

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

输入 – n = 2

输出 – 2中没有连续1的二进制字符串的计数为:3

解释 – 00, 01, 10 因此只有 3 个长度为 n 的二进制字符串且没有连续的 1

输入 − n = 7

输出

输入 strong> – 7 中没有连续 1 的二进制字符串的计数为 – 34

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

取一个输入n表示字符串长度

在count函数中,我们将计算没有连续1的二进制字符串,定义两个大小为n的数组arr[]和arr_2,以及一个用于存储的变量temp

将两个数组的第 0 个元素赋值为 1

从 i=1 开始循环,直到 I 小于 n .

在循环中,设置 arr[i] = arr[i-1]+arr_2[i-1] 和 arr_2[i] = arr[i-1]

设置temp = arr[n-1]+arr_2[n-1],然后打印temp。

示例

 现场演示

#include//create function to calculate binary strings without consecutive 1’svoid count(int num){   int arr[num];   int arr_2[num];   int i=0, temp=0;   arr[0] = arr_2[0] = 1;   //loop till number isn't equals to 0   for (i = 1; i < num; i++){      arr[i] = arr[i-1] + arr_2[i-1];      arr_2[i] = arr[i-1];   }   temp = arr[num-1] + arr_2[num-1];   printf("Count of binary strings without consecutive 1’s of %d is : %d",num,temp);   printf("

");}int main(){ //call the count function count(10); count(7); count(1); return 0;}

输出

如果我们运行上面的代码,我们将得到以下输出 –

Count of binary strings without consecutive 1’s of 10 is : 144Count of binary strings without consecutive 1’s of 7 is : 34Count of binary strings without consecutive 1’s of 1 is : 2

以上就是计算C语言中没有连续1的二进制字符串的数量的详细内容,更多请关注创想鸟其它相关文章!

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月17日 21:27:14
下一篇 2025年12月17日 21:27:27

相关推荐

发表回复

登录后才能评论
关注微信