小编pin*_*txo的帖子

求n> 0的整数,它包含以下三个条件

启动器的一些定义:flip(n)是七段显示字体编号的180度旋转,因此一个2段的七段字体将翻转为2. 0,1,2,5,8将映射到自己.6 - > 9,9 - > 6和3,4,7未定义.因此,任何包含3,4,7的数字都不会被翻转.更多示例:flip(112)= 211,flip(168)= 891,flip(3112)=未定义.

(顺便说一下,我敢肯定,翻转(1)应该是不确定的,但功课说,翻转(168)= 891所以对此分配翻转(1)定义)

原始挑战:找到一个整数n> 0,它包含以下三个条件:

  1. flip(n)被定义并且flip(n)= n
  2. flip(n*n)被定义
  3. n可以被2011整除 - > n%2011 == 0

我们在下面找到的解决方案似乎有效,但至少在2011年找不到答案.如果我使用1991而不是(我搜索了一些问题可以解决的"基数")我得到了一个非常快速的回答说1515151就是那个.因此,基本概念似乎有效,但不适用于作业中给定的"基础".我在这里错过了什么吗?

用伪代码编写的解决方案(我们在Small Basic中有一个实现,我用Java编写了一个多线程):

for (i = 1; i < Integer.MaxValue; i++) {
  n = i * 2011;
  f = flip(n, true);
  if (f != null && flip(n*n, false) != null) {
    print n + " is the number";
    return;
  }
}


flip(n, symmetry) {
  l = n.length;
  l2 = (symmetry) ? ceil(l/2) : l;
  f …
Run Code Online (Sandbox Code Playgroud)

java smallbasic

10
推荐指数
1
解决办法
592
查看次数

标签 统计

java ×1

smallbasic ×1