poj1426 Find The Multiple(c语言巧解)
| Time Limit: 1000MS | Memory Limit: 10000K | |||
| Total Submissions: 36335 | Accepted: 15194 | Special Judge | ||
Description
Input
Output
Sample Input
2
6
19
0
Sample Output
10
100100100100100100
111111111111111111
----------------------------------------------------------------------------------------------------------------------
关于我的想法 很多同学的算法是在结果不超过long long的取值范围的情况下得到的答案,而题目却说可能存在100位的数,明显大部分同学利用了这个题目的漏洞解出这个题目 下面我介绍一种每个输出都为100位数的方法,先用深度搜索,创建一个只含0和1的数组,再用check()函数检查这个数组是不是可以除尽n,可以则为结果 关于check()
将数组从99到0分别提取出来,再加上上一位残留的余数*10,模n,余数存起来留给下一位,直到0位的时候余数为0,也就是除尽了。 这个检查函数的原理与我们自己手写算一个数除以另一个数类似,最后一位除尽,表示这个数可以除尽。
#include <stdio.h>
#include <stdlib.h>
int len[],n,bo;
int check()//检查数组是否可以除尽
{
int i,y=;
for(i=;i>=;i--)
y=((len[i]+y)%n)*;
if(y==)//余数为零
return ;
else
return ;
}
int dfs(int x)
{
int i;
if(bo)return;//得到了结果
if(x<)//到了数组的底
{
if(check())
bo=;
return;
}
for(i=;i>=;i--)//从1到0计算更快,否则容易超时
{
if(bo)return;//得到了结果
len[x]=i;
dfs(x-);
}
}
int main()
{
int i;
while(scanf("%d",&n)==&&n)
{
bo=;
dfs();
for(i=;i>=;i--)
printf("%d",len[i]);
printf("\n");
}
return ;
}
poj1426 Find The Multiple(c语言巧解)的更多相关文章
- C语言程序设计100例之(16):巧解算式
		
例16 巧解算式 问题描述 在1.2.3.4.5.6.7.8.9.10个数中间加上加号或减号,使得到的表达式的值为自然数N,如果中间没有符号,则认为前后为一个数,如1 2 3认为是一百二十三(123 ...
 - z3 巧解CTF逆向题
		
z3 巧解逆向题 题目下载链接:http://reversing.kr/download.php?n=7 这次实验的题目为Reversing.kr网站中的一道题目. 题目要求: ReversingKr ...
 - 原来Github上的README.md文件这么有意思——Markdown语言详解(sublime text2 版本)
		
一直想学习 Markdown 语言,想起以前读的一篇 赵凯强 的 博客 <原来Github上的README.md文件这么有意思——Markdown语言详解>,该篇博主 使用的是Mac系统, ...
 - # 「银联初赛第一场」自学图论的码队弟弟(dfs找环+巧解n个二元一次方程)
		
「银联初赛第一场」自学图论的码队弟弟(dfs找环+巧解n个二元一次方程) 题链 题意:n条边n个节点的连通图,边权为两个节点的权值之和,没有「自环」或「重边」,给出的图中有且只有一个包括奇数个结点的环 ...
 - POJ1426——Find The Multiple
		
POJ1426--Find The Multiple Description Given a positive integer n, write a program to find out a non ...
 - Java Web----EL(表达式语言)详解
		
Java Web中的EL(表达式语言)详解 表达式语言(Expression Language)简称EL,它是JSP2.0中引入的一个新内容.通过EL可以简化在JSP开发中对对象的引用,从而规范页面 ...
 - 大牛针对零基础入门c语言详解指针(超详细)
		
C语言指针说难不难但是说容易又是最容易出错的地方,因此不管是你要做什么只要用到C指针你就跳不过,今天咱们就以 十九个例子来给大家简单的分析一下指针的应用,最后会有C语言视频资料提供给大家更加深入的参考 ...
 - Floyd算法(一)之 C语言详解
		
本章介绍弗洛伊德算法.和以往一样,本文会先对弗洛伊德算法的理论论知识进行介绍,然后给出C语言的实现.后续再分别给出C++和Java版本的实现. 目录 1. 弗洛伊德算法介绍 2. 弗洛伊德算法图解 3 ...
 - Dijkstra算法(一)之 C语言详解
		
本章介绍迪杰斯特拉算法.和以往一样,本文会先对迪杰斯特拉算法的理论论知识进行介绍,然后给出C语言的实现.后续再分别给出C++和Java版本的实现. 目录 1. 迪杰斯特拉算法介绍 2. 迪杰斯特拉算法 ...
 
随机推荐
- sql server 无法sa登录解决办法
			
大概流程:在SQL软件里面设置解决 大概流程: 打开 控制面板 -> 管理工具 -> 服务..... 详细参考地址: https://blog.csdn.net/github_351606 ...
 - tkinter学习系列(二)之窗口的设置
			
目录 (一)窗体的最小框架 1.说明: 2.源代码: 3.实现效果: (二)窗体的基本设置 1.说明: 2.完整代码: 3.实现效果: (三)窗体的外形设置 1.说明: 2.完整代码: 3.实现效果: ...
 - 第一条:了解Objective-C语言的起源
			
第一条:了解Objective-C语言的起源 Objective-C使用的消息结构而非函数调用. Objective-C的重要工作都由"运行组件(runtime component)&quo ...
 - WINS服务器与DNS服务器有什么区别?
			
1.WINS实现的是IP地址和计算机名称的映射,DNS实现的是IP地址和域名的映射.2.WINS作用的范围是某个内部网络,DNS的范围是整个互联网.简单说明一下:WINS实现的是IP地址和计算机名称的 ...
 - IDEA里面添加lombok插件,编写简略风格Java代码(转)
			
文章转自http://blog.csdn.net/hinstenyhisoka/article/details/50468271 在 java平台上,lombok 提供了简单的注解的形式来帮助我们消除 ...
 - mysql数据表的字段操作
			
CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(255) DEFAULT NULL, ` ...
 - Spring配置跨域请求
			
本文主要是Spring+SpringMVC+MyBatis/MyBatis Plus框架环境,包括SpringBoot同样适用. 1.编写拦截器 package com.interceptor; im ...
 - Linux x64 -- 内核程序(驱动程序)读取任意进程数据实现
			
四级页表结构 现在的64位Linux系统中,并没有使用全部的64位地址空间,而是使用其低48位,高16位并没有使用. 其中 39至47这9位用于索引PGD(page global directory) ...
 - centos7搭建filebeat
			
filebeat的环境搭建 cd /home/elk wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.2.4 ...
 - 关于ELK
			
官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/6.0/getting-started.html 日志: https://ww ...