码迷,mamicode.com
首页 > 其他好文 > 详细

例题7-1 除法 UVa725

时间:2015-04-05 17:34:41      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:暴力搜索

1.题目描述:点击打开链接

2.解题思路:本题利用暴力搜索解决。直接从1234开始枚举除数,由于乘积不能超过100000,所以上限是100000/n。然后判断得到的乘积和除数中的所有数是否都各不相同即可。

3.代码:

#define _CRT_SECURE_NO_WARNINGS 
#include<iostream>
#include<algorithm>
#include<string>
#include<sstream>
#include<set>
#include<vector>
#include<stack>
#include<map>
#include<queue>
#include<deque>
#include<cstdlib>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<ctime>
#include<functional>
using namespace std;
bool check(int m, int n)
{
	bool ok = true;
	int vis[10];
	memset(vis, 0, sizeof(vis));
	for (int i = 0; i < 5; i++)
	{
		vis[m % 10]++, vis[n % 10]++;
		if (vis[m % 10]>1 || vis[n % 10] > 1)ok = false;
		m /= 10, n /= 10;
	}
	return ok;
}
int main()
{
	//freopen("t.txt", "r", stdin);
	int n;
	int rnd = 0;
	while (~scanf("%d", &n) && n)
	{
		if (rnd++)cout << endl;
		int ok = 0;
		for (int divisor = 1234; divisor <= 100000/n; divisor++)
		{
			int m = divisor*n;
			if (check(m, divisor))
			{
				ok = 1;
				printf("%05d / %05d = %d\n", m, divisor, n);
			}
		}
		if (!ok)
			printf("There are no solutions for %d.\n", n);
	}
	return 0;
}

例题7-1 除法 UVa725

标签:暴力搜索

原文地址:http://blog.csdn.net/u014800748/article/details/44888629

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!