- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
这不是作业问题。我只是对这个问题感到好奇。我的方法很简单:-)
我的暴力破解 C++
代码:
int main()
{
ll l,r;
cin>>l>>r;
ll f=0;
ll i=l;
while(i<=r)
{
ll j=0;
string s;
ll c=0;
s=to_string(i);
// cout<<s<<" ";
ll x=s.length();
if(x==1)
{
c=0;
}
else
{
j=0;
//whil
while(j<=x-2)
{
string b,g;
b="1";
g="1";
b=s[j];
g=s[j+1];
ll k1,k2;
k1=stoi(b);
k2=stoi(g);
if(__gcd(k1,k2)==1)
{
c=1;
break;
}
j++;
}
}
ll d=0;
j=0;
while(j<=x-1)
{
if( s[j]=='2' || s[j]=='3' || s[j]=='5' || s[j]=='7')
{
string b;
b="1";
b=s[j];
ll k1=stoi(b);
if(i%k1==0)
{
//d=0;
}
else
{
d=1;
break;
}
}
j++;
}
if(c==1 || d==1)
{
// cout<<"NO";
}
else
{
f++;
// cout<<"PR";
}
// cout<<"\n";
i++;
}
cout<<f;
return 0;
}
You are given 2 integers 'L' and 'R' . You are required to find the count of all the PR numbers in the range 'L' to 'R' inclusively. PR number are the numbers which satisfy following properties:
No pair of adjacent digits are co-prime i.e. adjacent digits in a PR number will not be co-prime to each other.
PR number is divisible by all the single digit prime numbers which occur as a digit in the PR number.
Note: Two numbers 'a' and 'b' are co-prime, if gcd(a,b)=1.
Also, gcd(0,a)=a;
Example:
Input: [2,5].
Output: '4'.(Note: '1' is not a prime-number, though its very common)
(All the integers: '2','3','4','5') satisfy the condition of PR numbers :-)
约束“L”、“R”:1 <= L, R <= 10^18
解决这个问题最有效的算法是什么?
最佳答案
注意:这将仅解决第 1 部分,即没有一对相邻数字是互质的,即 PR 数字中的相邻数字不会彼此互质。
这是 python 中的一种建设性方法:我们不会遍历范围内的所有数字并按条件过滤,而是构造所有满足条件的数字。请注意,如果我们有一个有效的数字序列,为了使它继续有效,只有最右边的数字很重要才能决定下一个数字是什么。
def ways(max_number, prev_digit, current_number):
if current_number > max_number:
return 0
count = 1
if prev_digit == 0:
if current_number != 0:
count += ways(max_number, 0, current_number * 10)
for i in range(2, 10):
count += ways(max_number, i, current_number * 10 + i)
if prev_digit == 2 or prev_digit == 4 or prev_digit == 8:
for i in [0, 2, 4, 6, 8]:
count += ways(max_number, i, current_number * 10 + i)
if prev_digit == 3 or prev_digit == 9:
for i in [0, 3, 6, 9]:
count += ways(max_number, i, current_number * 10 + i)
if prev_digit == 5 or prev_digit == 7:
count += ways(max_number, 0, current_number * 10)
count += ways(max_number, prev_digit, current_number * 10 + prev_digit)
if prev_digit == 6:
for i in [0, 2, 3, 4, 6, 8, 9]:
count += ways(max_number, i, current_number * 10 + i)
return count
由于我们要生成最大为 max_number 的所有有效数字而没有任何重复,因此此函数的复杂度为 O(0 和 max_number 之间满足条件 1 的数字的数量)。要计算 a 到 b 的范围,我们只需要执行 ways(b) - ways(a - 1)
。
从 0 到 100 万计算这些数字用时不到 1 秒,因为只有 42935 个数字满足结果。由于满足条件的数字很少,因此我们可以检查它们是否是其素数的倍数以满足条件 2。我将这部分留给读者,因为有多种方法可以做到这一点。
关于algorithm - 给定范围内有多少个 PR 编号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55343003/
背景:开发分支没有任何 ci/cd 管道集。我在功能分支创建了一个多阶段发布管道,并且在开发阶段之前工作正常,QA 阶段取决于成功的开发阶段和 PR 触发器。我已经创建了一个从功能到开发分支的 PR。
Github 不久前发布了 draft PR。 我有一个普通的 PR,我想将其更改为 PR 草案。我怎样才能做到这一点? 最佳答案 更新 - 现已推出 - 2020 年 1 月 转换默认 → 草稿 现
目标 我对 Azure 和管道还很陌生,我正在尝试从 Azure 中的 pr 触发管道。该存储库位于 Github 中。 这是管道 yaml:pipeline.yml trigger: none #
我正在运行一个具有 1 个数据中心(6 个节点)和 Cassandra 3.11.0 的集群,复制因子为 2。我知道 nodetool repair -pr将对该节点上的主要范围进行修复。我的问题是如
我和我的团队正在努力在 ADO 中实现特定的 CI/CD 模式。 我们定义了一个名为“Develop”的构建管道和一个同名的发布管道。我们在我们的开发分支上设置了一个构建策略,要求“开发”构建管道在
当对 my_branch 进行任何更改(直接更改分支或通过合并 PR)时,我需要触发管道(CI),我的 yml 触发器配置如下 - trigger: batch: true branches:
我正在尝试使用 http://rove.io/在我的 Windows 8 机器上设置一个 vagrant box。我已按照网站上的说明进行操作(特别是安装 gem install librarian-
我有一个 protected github 存储库,我希望已经允许“读取”访问权限的用户也能够合并 PR,所以我给了他“写入”角色。根据github docs这应该足够了。他仍然无法合并,并且看到一条
Github 提供了一种很好的方式来列出两个标签之间的提交,例如https://github.com/jupyter/nbconvert/compare/6.0.6...6.0.7 有没有办法列出两个
我们最近改变了工作流程。我们在 github 上的(新)存储库有 2 个分支:master 和 develop。 master 不受直接推送的影响,只有 PR 被 merge 。 develop 是所
我使用下面的过滤器使PR在2017-03-19之前关闭;但是,有没有一种方法可以过滤特定日期。 is:pr is:closed merged:>=2017-03-19 base:master sort
在Github中提交PR后,它会获得批准,然后合并到master中。在这一点上,我应该删除我的分支以保持整洁。我不是天使,经常忘记这样做! Github上有一个方便的“拉取请求”页面,可以跟踪您所有打
我想用一次提交创建一个 PR,所以我用提交 SHA checkout 一个新分支, git checkout -b new-branch 8517c80183607461ea 我如何从这里创建 PR?
我正在寻找一种通过 GitHub 设置或 CircleCI 设置防止参与 PR(创建 PR 或进行提交)的人能够合并 PR(甚至批准它)的方法。 到目前为止,我拥有一个需要批准的分支的保护,但在批准后
我正在使用如下所述的拉取请求构建来创建包含所包含资源的资源组 https://learn.microsoft.com/en-us/azure/devops/pipelines/release/depl
我问这个问题是因为,在提出 PR 并将其发送给多个团队成员进行审查之后,我看到在 PR 以 merge 或不 merge 关闭之前创建新提交的必要性。 PR request主要是指一个feature
我已将 Debug模式设置为 2: Configure::write('debug', 2); 我尝试在我的 Controller 中使用 pr(),它没有显示任何内容,即空白: pr($th
我问这个问题是因为,在提出 PR 并将其发送给多个团队成员进行审查之后,我看到在 PR 以 merge 或不 merge 关闭之前创建新提交的必要性。 PR request主要是指一个feature
Github 添加 reviewers . 有没有办法找到用户是评论者的 PR(例如在 Pull Requests 页面上)?我已经尝试过的事情: 已检查 https://help.github.co
我听说为了更好地宣传主页,网站的结构需要像这样: 主页链接到所有页面,每个页面都链接到主页。 主页链接到二级页面,它们链接到三级页面,每个页面只链接到一个上级页面。 我的问题是: 1. 对吗? 2.
我是一名优秀的程序员,十分优秀!