逆问题--给定一个自然数N,寻找一个M,使得M是N的倍数,M是由0和1组成的十进制数 [推荐]

bigc2000 bigc2000 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
给定一个自然数N,寻找一个M,使得M是N的倍数,M是由0和1组成的十进制数 [推荐]

--------------------------------------
这个题目的逆问题

假定给定0,1串(10进制)M,求其因子,使得这个因子的最小由,0,1构成的串倍数 恰为M
,同时满足这个因子,是其所有因子中最小.

比如10 --> 1,2,5 ,10,
1的最小倍数是1,
2的最小倍数是10,故2是正确的

100
则为4
111 则为3


这个问题,比原问题难么?
(看起来很简单,但是,分解因数,本身就已经困难,





...全文

相关推荐

C语言求自然数N倍数代码

【问题描述】 写一个程序,对于给定的一个自然数N(1<=N<=4999),和M个互不相同的十进制数字X1, X2,…,XM (M>=1), 找出N的一个最小的正倍数,使得该倍数中仅包含数字X1,X2,…,XM。 【输入形式】 输入文件为当前目录下的multiple.in,输入文件第一行为整数N,接下来M行分别列出数字 X1,X2..XM ,以EOF结束。 【输出形式】 输入文件为当前目录下的multiple.out,输出文件输出为这个倍数,如果无解输出0。在所有的测试数据中答案都不会超过500位。 【输入样例】 22 7 0 1 【输出样例】 110

shuaiwang126

n的倍数BFS小水题

写一个程序,对于给定的一个自然数N(1≤N≤4999),和M个互不相同的十进制数字X1, X2,…,XM (至少一个), 找出N的一个最小的正的倍数,使得该倍数中没有X1,X2,…,XM 之外的其它数字。 输入格式: 第一行为整数N,第二行为整数 M,接下来M行 分别列出 数字 X1,X2..XM 。 输出格式: 输出这个倍数,如果无解输出0。 约束条件:

Timsei

对于给定的由n 个自然数组成的多重集S,编程计算S 的众数及其重数。

问题描述: 给定含有n个元素的多重集合S,每个元素在S中出现的次数称为该元素的重数。多重集S中重数最大的元素称为众数。 例如,S={1,2,2,2,3,5}。多重集S的众数是2,其重数为3。 编程任务: 对于给定的由n 个自然数组成的多重集S,编程计算S 的众数及其重数。 数据输入: 第1行多重集S中元素个数n;接下来的n 行中,每行有一个自然数。 结果输出: 程序运行结束时,输出有2 行,第1 行给出众数,第2 行是重数。

reedoo

算法设计与实验题解一本书的页码从自然数1开始顺序编码直到自然数n。书的页码按照通常的习惯编排,每个页码都不含多余的前导数字0。例如第6页用6表示而不是06或006。数字统计问题要求对给定书的总页码,计算出书的全部页码中分别用到多少次数字0,1,2,3,.....9。

在王晓东编著的《算法设计与实验题解》中看到的这个问题,问题描述如下: 一本书的页码从自然数1开始顺序编码直到自然数n。书的页码按照通常的习惯编排,每个页码都不含多余的前导数字0。例如第6页用6表示而不是06或006。数字统计问题要求对给定书的总页码,计算出书的全部页码中分别用到多少次数字0,1,2,3,.....9。 这个题目有个最容易想到的n*log10(n)的算法。这是自己写的复杂度为O(n*log10(n))的代码: void statNumber(int n) { int i, t; int count[10] = {0}; for(i = 1; i <= n; i++) { t = i; while(t) { count[t%10]++; t/=10; } } for(i = 0; i < 10; i++) { printf("%d\n", count[i]); } }

xiechunhuawang

回溯法 - 输出自然数1到n所有不重复的排列,即n的全排列

输出自然数1到n的所有不重复的排列,即n的全排列。

kongdu004868
评论 10
收藏 已收藏
分享
返回顶部
bigc2000
数据结构与算法 33,026 成员 35,334 内容