博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
暑期第一弹<搜索> E - Find The Multiple(DFS)
阅读量:6711 次
发布时间:2019-06-25

本文共 1379 字,大约阅读时间需要 4 分钟。

E - Find The Multiple
Time Limit:1000MS     Memory Limit:10000KB     64bit IO Format:%I64d & %I64u
Submit 

Description

Given a positive integer n, write a program to find out a nonzero multiple m of n whose decimal representation contains only the digits 0 and 1. You may assume that n is not greater than 200 and there is a corresponding m containing no more than 100 decimal digits.

Input

The input file may contain multiple test cases. Each line contains a value of n (1 <= n <= 200). A line containing a zero terminates the input.

Output

For each value of n in the input print a line containing the corresponding value of m. The decimal representation of m must not contain more than 100 digits. If there are multiple solutions for a given value of n, any one of them is acceptable.

Sample Input

26190

 

Sample Output

10100100100100100100111111111111111111

题意:给出一个数n,然后求得一个数字k,数字满足:能被n整除,每一位只有0,1。这样的数字k会有很多个,然以输出一个就可以。

思路:n的最大值为200,用dfs从数字k的个位开始往高位搜索,每一位只有0或1。找到能被n整除的时候输出就可以了。

ps:(一开始不知道到底应该搜到多少位时可以return,后来看到网上说最多到19位就可以)

代码如下:

 

#include 
using namespace std;int n,flag;void dfs(int k,long long cur){ //k:位数 cur:当前数字 if(k == 19 || flag) return ; if(cur%n == 0){ cout<
<
>n,n != 0){ flag = 0; dfs(0,1); } return 0;}

 

 

转载于:https://www.cnblogs.com/Jstyle-continue/p/6351939.html

你可能感兴趣的文章
课程所用软件下载地址
查看>>
Mary Meeker最新互联网趋势报告关键词:重写改变一切、轻资产时代
查看>>
KNN算法的實現
查看>>
HDU 1245 Saving James Bond
查看>>
SpringSecurity3整合CAS实现单点登录
查看>>
淘宝网架构分享总结[转]
查看>>
android异步任务详解 AsynTask
查看>>
XPath注入技术综述
查看>>
一步一步写算法(之挑选最大的n个数)
查看>>
mysql存储过程中传decimal值会自动四舍五入,没有小数
查看>>
java中文乱码解决之道(三)—–编码详情:伟大的创想—Unicode编码
查看>>
shiro安全框架
查看>>
php 返回上一页并刷新
查看>>
14. 星际争霸之php设计模式--状态模式
查看>>
微信公共服务平台开发(.Net 的实现)2-------获得ACCESSTOKEN
查看>>
Nginx + php-fpm 执行 PHP 脚本超时 报错 502 Bad Gateway + 504 Gateway Time-out 的解决办法...
查看>>
Scala第三章学习笔记
查看>>
Elven Postman(二叉树)
查看>>
【十大经典数据挖掘算法】Naïve Bayes
查看>>
HDU 1429 胜利大逃亡(续)(bfs)
查看>>