游客 Signup | Login
中文 | En

3287 - 数字串

 

<b><span style="font-family:宋体;">问题描述:</span><span></span></b>

<span style="font-family:宋体;">任意给出一个正整数</span><span>N</span><span style="font-family:宋体;">,找一个正整数</span><span>M</span><span style="font-family:宋体;">,使得</span><span>N</span><span style="font-family:宋体;">×</span><span>M</span><span style="font-family:宋体;">的值的各位数字全部由数字</span><span>0</span><span style="font-family:宋体;">和</span><span>1</span><span style="font-family:宋体;">组成,请找出满足条件的最小的</span><span>M</span><span style="font-family:宋体;">。如果</span><span>N</span><span style="font-family:宋体;">×</span><span>M</span><span style="font-family:宋体;">的值大于</span><span>2000000000</span><span style="font-family:宋体;">还没有找到满足条件的</span><span>M</span><span style="font-family:宋体;">就输出“</span><span>No found</span><span style="font-family:宋体;">”。</span>

<b><span style="font-family:宋体;">输入输出样例:</span></b>

<span style="font-family:宋体;">输入:</span><span>4</span>

<span style="font-family:宋体;">输出:</span><span>25</span>

Input

Output

Examples

Input


                

Output


                

Solution C++

#include<iostream>
using namespace std;
bool find(int x)	//判断是否满足条件
{
	while (x)
	{
		int t=x%10;
		if (t>=2) return false;
		x/=10;
	}
	return true;
}
int main()
{
	int n,m;
	cin>>n;
	for (m=1; m*n<=2000000000; m++)
		if (find(m*n)) break;
	if (m*n>2000000000) cout<<"No found\n";
	else cout<<m<<endl;
	return 0;
}
Time Limit 1 second
Memory Limit 128 MB
Discuss Stats
上一题 下一题