当前位置: 首页 > news >正文

UVA 725 division【暴力枚举】

【题意】:输入正整数n,用0~9这10个数字不重复组成两个五位数abcde和fghij,使得abcde/fghij的商为n,按顺序输出所有结果。如果没有找到则输出“There are no solutions for N.”。这里2<=n<=79。

【分析】:

1.因为n>=2,且abcde=fghij×n,满足abcde>fghij。若a=0,则fghij的最小值为12345,abcde<fghij,矛盾。所以a≠0。

2.因为a≠0,所以12345<=abcde<=98765,01234<=fghij。

3.因为2≤n,且abcde≤98765,那么fghij = abcde/n,得fghij≤98765/2=49382,所以01234≤fghij≤49382。

4.因为12345≤abcde≤98765,且01234≤fghij≤49382,所以用fghij进行枚举范围比较小。(这是在任意的n的条件下得出的结论)

5.对于给定的n,因为abcde≤98765,那么fghij = abcde/n,得fghij≤98765/n。结论:01234≤fghij≤98765/n。

【代码】:

#include<bits/stdc++.h>
using namespace std;
int v[15];

int check(int x,int y)
{
    memset(v,0,sizeof(v));
    for(int i=1;i<=5;i++)
    {
        v[x%10]++;
        v[y%10]++;
        if(v[x%10]>1||v[y%10]>1) return 0;
        x/=10;
        y/=10;
    }
    return 1;
}

int main()
{
    int n,t=0,f;
    while(~scanf("%d",&n),n)
    {
        f=0;
        if(t++) printf("\n");
        for(int i=1234;i<=100000/n;i++)
        {
            if(check(i,i*n))
            {
                printf("%05d / %05d = %d\n",i*n,i,n);
                f=1;
            }
        }
        if(!f) printf("There are no solutions for %d.\n",n);
    }
}

  

转载于:https://www.cnblogs.com/Roni-i/p/8058166.html

相关文章:

  • angularjs $$phase
  • 安装PHP5,安装PHP7
  • CSS 为什么这么难学?
  • sql server 索引总结一
  • 『TensorFlow』读书笔记_Word2Vec
  • Android UI进阶之旅15 SVG的使用
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • Android的一些命名规范
  • 零元学Expression Blend 4 - Chapter 13 用实例了解布局容器系列-「Pathlistbox」I
  • Spring源码系列-容器刷新
  • WPF用样式实现TextBox的虚拟提示效果
  • ReactiveCocoa学习
  • [POJ2411]Mondriaan's Dream
  • CentOS7防火墙
  • vue.js 初步学习资源
  • [PHP内核探索]PHP中的哈希表
  • @angular/forms 源码解析之双向绑定
  • [LeetCode] Wiggle Sort
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • Django 博客开发教程 8 - 博客文章详情页
  • java小心机(3)| 浅析finalize()
  • Markdown 语法简单说明
  • Mysql数据库的条件查询语句
  • 初识 beanstalkd
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 离散点最小(凸)包围边界查找
  • 你真的知道 == 和 equals 的区别吗?
  • 使用 5W1H 写出高可读的 Git Commit Message
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • 源码安装memcached和php memcache扩展
  • kubernetes资源对象--ingress
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • #HarmonyOS:Web组件的使用
  • #图像处理
  • #微信小程序:微信小程序常见的配置传旨
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • $$$$GB2312-80区位编码表$$$$
  • %3cli%3e连接html页面,html+canvas实现屏幕截取
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (JS基础)String 类型
  • (笔试题)合法字符串
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • .“空心村”成因分析及解决对策122344
  • .net core使用ef 6
  • .net web项目 调用webService
  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:Bluetooth组件
  • .NET连接数据库方式
  • .NET企业级应用架构设计系列之应用服务器
  • .NET使用HttpClient以multipart/form-data形式post上传文件及其相关参数
  • [ vulhub漏洞复现篇 ] Hadoop-yarn-RPC 未授权访问漏洞复现
  • [3300万人的聊天室] 作为产品的上游公司该如何?
  • [android] 练习PopupWindow实现对话框
  • [C/C++]数据结构 栈和队列()