私はF POJ-1426アンソロジー2019_GDUT_新生児のトピック

トピック:

正の整数で指定されたN、N-Mの非ゼロ複数を見つけるためのプログラムを書き、mはそれぞれ一つのみ0または1小数を含むことを意味します。あなたは、nがない200よりも大きく100 mとすると仮定することができます。
ヒント:タイトルが特別審査員を使用して、あなたが出力するすべての適格メートルを必要としない、あなただけのいずれかの出力に必要な資格メートルとすることができます。

入力

データの複数のセットを含む入力は、各データ線のみ、唯一の正の整数n個(1 <= N <= 200)を含みます。

出力

n個の入力の各セットのために修飾され、Mのいずれかに出力されます。複数の資格mがある場合でも、あなただけの出力に缶を必要としています。

サンプル入力

2

6

19

0

サンプル出力

10

100100100100100100

111111111111111111

練習:ドリーネは、範囲指定されたタイトルは、直接長い長と一緒に保存することができる100メートル、実際のせいぜい19である2つのパラメータをDFS、電流はM、ビット数であり、mは、要件を満たすことが見出されその出力端とDFSは、最初の20は、現在のDFSを終了見つけることが見出されました。

コード:

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int N,ans,n;

void dfs(unsigned long long x,int k)
{
	if (n && k<=19)
	{
		if (x%N==0)
		{
			cout<<x<<endl;
			n=0;
			return;
		}
		dfs(x*10,k+1);
		dfs(x*10+1,k+1);
	}
}

int main()
{
	cin>>N;
	while(N)
	{
	    n=1;
		dfs(1,1);	
		cin>>N;
	}
}
公開された14元の記事 ウォンの賞賛0 ビュー305

おすすめ

転載: blog.csdn.net/qq_39581539/article/details/103964369