与えられたタスクは、連続する 1 を持たない長さ n のすべてのバイナリ文字列の数をカウントすることです。
2 進数システムは、数値表現技術の一種です。最も一般的であり、デジタル システムで使用されます。 2 進法は、動作状態または考えられる条件が 2 つしかないデバイスで表現できる 2 進数を表すために使用されます。たとえば、スイッチにはオンまたはオフの 2 つの状態しかありません。
2 進法では、記号または取り得る数値は 0 と 1 の 2 つだけです。 2 だけのデバイスによる動作状態または考えられる状態を表します。バイナリ文字列は、バイナリ値、つまり 0 または 1 を含む文字列です。
次に、何をしなければならないかを理解するために例を使用しましょう -
Enter - n = 2
出力 - 2 に連続 1 がないバイナリ文字列の数は次のとおりです: 3
説明 - 00、01、10 のみ連続しない長さ n の 3 つのバイナリ文字列 1
input − n = 7
output
Input Strong > - 7 の中に連続 1 がないバイナリ文字列の数は - 34です。
次のプログラムで使用されるメソッドは次のとおりです。
入力を受け取ります。n は文字列を表します。 length
count 関数では、連続する 1 のないバイナリ文字列をカウントし、サイズ n の 2 つの配列 arr[] と arr_2 を定義し、格納された変数 temp # への配列を定義します。
- 2 つの配列の 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<stdio.h> //create function to calculate binary strings without consecutive 1’s void 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("</p><p>"); } int main(){ //call the count function count(10); count(7); count(1); return 0; }
出力
上記のコードを実行すると、次の出力が得られます-
rreeee以上がC で連続 1 のないバイナリ文字列の数を数えるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

VScode中怎么配置C语言环境?下面本篇文章给大家介绍一下VScode配置C语言环境的方法(超详细),希望对大家有所帮助!

在C语言中,node是用于定义链表结点的名称,通常在数据结构中用作结点的类型名,语法为“struct Node{...};”;结构和类在定义出名称以后,直接用该名称就可以定义对象,C语言中还存在“Node * a”和“Node* &a”。

c语言将数字转换成字符串的方法:1、ascii码操作,在原数字的基础上加“0x30”,语法“数字+0x30”,会存储数字对应的字符ascii码;2、使用itoa(),可以把整型数转换成字符串,语法“itoa(number1,string,数字);”;3、使用sprintf(),可以能够根据指定的需求,格式化内容,存储至指针指向的字符串。

C语言数组初始化的三种方式:1、在定义时直接赋值,语法“数据类型 arrayName[index] = {值};”;2、利用for循环初始化,语法“for (int i=0;i<3;i++) {arr[i] = i;}”;3、使用memset()函数初始化,语法“memset(arr, 0, sizeof(int) * 3)”。

c语言编译后生成“.OBJ”的二进制文件(目标文件)。在C语言中,源程序(.c文件)经过编译程序编译之后,会生成一个后缀为“.OBJ”的二进制文件(称为目标文件);最后还要由称为“连接程序”(Link)的软件,把此“.OBJ”文件与c语言提供的各种库函数连接在一起,生成一个后缀“.EXE”的可执行文件。

c语言计算n的阶乘的方法:1、通过for循环计算阶乘,代码如“for (i = 1; i <= n; i++){fact *= i;}”;2、通过while循环计算阶乘,代码如“while (i <= n){fact *= i;i++;}”;3、通过递归方式计算阶乘,代码如“ int Fact(int n){int res = n;if (n > 1)res...”。

区别:1、表示的含义不同,“*p”表示此指针指向的内存地址中存放的内容,“p”表示一个指针变量的名字,指此指针变量所指向的内存地址。2、输出的格式不同,“*p”输出的一般是一个和指针类型一致的变量或者常量,“p”输出的是一个16进制数, 输出一个指针的地址。3、功能不同,“*p”是让程序去那个地址取出数据,“p”用于存放的是地址。

go语言兼容c语言;Go语言可以调用C语言,还能给C语言调用。Go语言工具包中有一个Cgo命令,它用来处理Go调用C相关操作;而Go的函数可以导出给C用,只要在要导出的函数前面加上“//export funcname”就行了,然后可以使用“go build -buildmode=c-shared -o libxxx.so”命令编译生成动态库和头文件供C语言中使用。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

SublimeText3 中国語版
中国語版、とても使いやすい

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

メモ帳++7.3.1
使いやすく無料のコードエディター

ドリームウィーバー CS6
ビジュアル Web 開発ツール
