NがCで移動した後、配列内の1の数をカウントします
-
1番目の移動-位置1、2、3、4で要素を変更します…………..
-
2番目の移動-位置2、4、6、8で要素を変更します…………..
-
3番目の移動-位置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[]を使用します。
-
関数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'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
-
入力された数字の1の数を数えるC#プログラム
配列を使用して数字を追加しました- int[] num = new int[] {1, 25, 1, 55, 1}; ここでループして1を見つけ、1があれば、6を見つけて、発生をカウントする変数をインクリメントします- foreach(int j in num) { if (j == 1) { cal++; } } 例 以下は、入力した数字の1の数を数えるコードです。 using System; public class Demo { public static voi
-
文字列内の単語数をカウントするC#プログラム
最初に文字列を宣言しましょう- string str = "Hello World!"; 次に、文字列全体をループして、空白、タブ、または改行文字を見つけます- while (a <= str.Length - 1) { if(str[a]==' ' || str[a]=='\n' || str[a]=='\t') { myWord++; } a++; } 例 C#で文字列内の単語数をカウントするた