最小的M数

问题描述

  任意给定一个自然数N,可以找出这样一个相应的M值,要求M是N的倍数,
且它的所有各位数字都是由0或1组成,并要求M尽可能小。

输入

  输入任意一个自然数N(我们确保测试时2 < N < 100)

输出

  输出符合题目描述的M值。如果没有符合要求的数,输出“NONE”

输入范例

3

31

输出范例

111

111011
#include <stdio.h>

#define MAXLEN 1000000000

int main()
{
    int n, i, flag;
    unsigned long m, temp;
    while (scanf("%d", &n) != EOF)
    {
        for (i = 1; i < MAXLEN; i++)
        {
            m = n * i;
            temp = m;
            flag = 1;
            while (temp)
            {
                if (temp % 10 != 0 && temp % 10 != 1)
                {
                    flag = 0;
                    break;
                }
                temp = temp / 10;
            }
            if (flag == 1)
            {
                break;
            }
        }
        if (flag == 1)
            printf("%d\n", m);
        else
            printf("NONE!\n");
    }
    return 0;
}
时间: 2024-08-07 19:34:44

最小的M数的相关文章

hdu 3987 求最小割条数最小

题意:    一个人要从起点  0  到达 n-1   n个点  m条路  ,我们求最少破坏路的条数使无法 从起点到达终点.题意很明显  ,求最小割条数最少,由于最小割流量虽然固定,但是其条数却不固定,可以破坏3条路,也可以破坏4条路,他们总流量相同才会出现这种情况. 题解:由于上述的情况,他们总流量相同但是条数不同,现在我们需要改变边的容量使得条数少边才是最小割,条数多的将不会是最小割. 官方题解有两种 ,我选择的是在残余网络中进行扩充流的操作,使的两个最小割不同,残余网络中,我进行所有边流量

zoj 3792 Romantic Value(最小割下边数最小)

http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5300 大致题意:给出一个无向图,以及起点与终点.要删除一些边使得起点与终点不连通,在删掉边的权值之和最小的情况下要求删除的边数尽量少.求出一个比值:剩余边数权值和/删除的边数. 思路:删除边的权值之和最小显然是求最小割即最大流.但同时要求删除边数最少,解决方法是把边数也加到权值上去,一起求最大流,因为边数最多是1000,即每条边的边权置为 w*10000+1,1代表这一条边.

C语言找出大于一个数的最小回文数的代码

下面代码内容是关于C语言找出大于一个数的最小回文数的代码,希望能对码农们有用途. #include <stdio.h>#include <stdlib.h>#include <string.h> void main(){char data[10] = {0}, res[10] = {0}, state[10] = {0}, len = 0, pos, bit = 0;scanf("%s",data); len = strlen(data); pos

HNU 2014 Warm Up 15 E Easy Delete 最小点覆盖=最大匹配数

题目链接:点击打开链接 Easy Delete Time Limit: 1000ms, Special Time Limit:2500ms, Memory Limit:65536KB Total submit users: 8, Accepted users: 4 Problem 13103 : No special judgement Problem description huicpc0215 has downloaded a lots of files in his desktop. Si

javascript之查找数组中最小/最大的数

实现原理:和数组的顺序查找很类似,都是逐个数据的比对. 废话不多说~ 代码如下: /* * 参数说明: * array:传入数组 ,例如:var arr = [5,7,66,78,99,103,126,203,1]; */ function findMin(array){ var _min = array[0]; //假设最小的数就是 array[0] var _indexMin = 0; //假设最小的数的下标就是0 for(var i=0;i<array.length;i++){ if(ar

洛谷——P1609 最小回文数

题目描述 回文数是从左向右读和从右向左读结果一样的数字串. 例如:121.44 和3是回文数,175和36不是. 对于一个给定的N,请你寻找一个回文数P,满足P>N. 满足这样条件的回文数很多,你的任务是输出其中最小的一个. 输入输出格式 输入格式: 1行,一个正整数N.N的数值小于10^100,并且N没有前导0. 输出格式: 你的程序应该输出一行,最小的回文数P(P>N). 输入输出样例 输入样例#1: 复制 44 输出样例#1: 复制 55 说明 50%的数据,N<10^9 100%

简单化最小化语句数

js的语句数量也影响所执行的操作速度.完成多个操作的单个语句要比完成单个操作的多个语句要快.简写这方方面面的我可以给你几条建议. 1.多个变量声明 var count = 5; var color = 'blue'; var now = new Date(); 可以简写为 var count = 5, color = 'blue', now = new Date(); 2.插入迭代值 当使用迭代值,也就是在不同位置进行增加或减少的值的时候.尽可能合并语句. let name = values[i

hdu 1728 bfs 最小拐弯数

链接:http://acm.hdu.edu.cn/showproblem.php?pid=1728 之前没有做过类似这种要最少拐弯数的题目,一般求最少的用bfs应该比较好..但是之前bfs一般都是用来求最小步数,也就可以标记过走过的点不再走.现在本题要的是最小的拐弯数,所以不能标记走过的点..需要一个数组来记录当前这个点所需要的最小拐弯数,如果此时这个点的拐弯数比之前该点的拐弯数还小或者等于就更新这个值.遍历全图直到找到解为止. 学习:对于bfs找最优解的变形.明白如何更新拐弯数的,保证最小.

一文讲透Dubbo负载均衡之最小活跃数算法

本文是对于Dubbo负载均衡策略之一的最小活跃数算法的详细分析.文中所示源码,没有特别标注的地方均为2.6.0版本. 为什么没有用截止目前的最新的版本号2.7.4.1呢?因为2.6.0这个版本里面有两个bug.从bug讲起来,印象更加深刻. 最后会对2.6.0/2.6.5/2.7.4.1版本进行对比,通过对比学习,加深印象. 本文目录 第一节:Demo准备. 本小节主要是为了演示方便,搭建了一个Demo服务.Demo中启动三个服务端,负载均衡策略均是最小活跃数,权重各不相同. 第二节:断点打在哪