

Nは2以上とする。1からNまでの数字が一つずつ書かれたNマイのカードを1セットとして白色のセットAと黒色のセットBがあるセットAは昇順に並べ、セットBは、すべてのi(1<=i<=N)においてセットAのi番目の数字a[i]とセットBのi番目の数字b[i]が異なるとする。
#include <stdio.h>
#define N 4
int setb(int *idx,char *a,char *b){
int i;
for(i=0;i<N;i++){
b[i]='0'+idx[i-1];
if(a[i]==b[i]){return 0;}
}
return 1;
}
int main(void)
{
int i,;
int idx[N];
char a[N+2], b[N+2];
a[0] = b[0] = ' '; a[N+1]=b[N+1] = 0;
for(idx[0]=1;idx[0]<=N;idx[0]++){
for(idx[1]=1;idx[1]<=N;idx[1]++){
if(idx[0]==idx[1])continue;
for(idx[2]=1;idx[2]<=N;idx[2]++){
①
for(idx[3]=1;idx[3]<=N;idx[3]++){
②
if(setb(idx,a,b)) {printf("%s\n",b);}
}
}
}
}
return 0;
}
①と②に当てはまるコードを書け
実行した時の出力を書け
わかる方お願いいたします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
N=4として、
>1からNまでの数字が一つずつ書かれたNマイのカードを1セット
>セットAは昇順に並べ
より、Aは1234に特定される。
>すべてのi(1<=i<=N)においてセットAのi番目の数字a[i]とセットBのi番目の数字b[i]が異なる
より、Bは1~4の組み合わせで、Aと一致しない(例:2341,2413,…)を出力する
――ってことで良いのかな。
Cじゃなくて、Pythonとかrubyとか使ったほうが楽ですよ。
N=4;a=(1..N).to_a;a.permutation.to_a.each{|b| puts b.join('') unless [a,b].transpose.any?{|a,b|a==b}}
2143
2341
2413
3142
3412
3421
4123
4312
4321
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
2の補数を計算するプログラム
-
16bitで乱数を生成する方法
-
3のつく数と3の倍数を表示 C言語
-
OpenCVによる4値化について
-
最早開始時間と最遅完了時刻を...
-
【C++】関数ポインタの使い方
-
既定のコンストラクタがありま...
-
Aの値からBの値を除するとは??
-
「Aに対するBの割合」と「Aに対...
-
信頼区間の1.96や1.65ってどこ...
-
a^2の√=a が成り立たない場合
-
VB6.0での小数点の扱いについて
-
配列をnビットシフトする
-
数学 一次関数 関数 y=-3/4x+k(...
-
c languageで 簡単な質問があ...
-
C言語 エラーの原因がわからな...
-
#define _CRT_SECURE_NO_WARNIN...
-
プログラムでの数字につく”f”の...
-
C言語で複数列のデータを1列の...
-
c言語で、繰り返し文の中で、0....
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語で簡単なパックマンゲーム...
-
2の補数を計算するプログラム
-
c言語プログラミングについて f...
-
再起呼び出しの回数をカウント...
-
intとlongは同じ?
-
openCVの画像処理について
-
C言語
-
【C#】SQL文の中に変数を埋め込...
-
C言語プログラミング 漸化式に...
-
カードシャッフルのブログラム...
-
C++ Debug Errorについて教えて
-
デバッグビルドとリリースビル...
-
迷路を脱出する経路探索プログ...
-
C++デバックエラーについて詳し...
-
C++ bmp 透過処理
-
複数の共有メモリの作成
-
C言語で%を使わない余りの出し方
-
C言語
-
2次関数プログラムを描写する...
-
16bitで乱数を生成する方法
おすすめ情報