程序查找并打印后两个数字均为奇数的第一个完美平方(i * i)

埃里克·贡萨尔维斯(Eric Goncalves)
#include <iostream>
#include <cmath>

int main(int argc, const char * argv[])
{    
    for (long i = 1; i > 0; i++) {
        long n = i*i;
        long x = n % 10; 
        long y = n / 10 % 10;

        if (x % 2 != 0 && y % 2 != 0) {
            std::cout << i << std::endl;
            std::cout << n << " " << n % 100 << " " << y << " " << x << std::endl;
            std::cout << "Number Found: " << n << std::endl;
            break;
        }
    }

}

-- RESULT --
3037000501
-9223372030635300615 -15 -1 -5
Number Found: -9223372030635300615

我可能是错的,但我相信长度可能不足以存储答案。有人可以确认该程序正常运行并且长时间无法存储该号码,还是我错过了什么错误。或我完全错过的东西。

谢谢

马里奥·罗西(Mario Rossi)

我的印象是该数字不存在。

实际上,您只需要查找就可以了,i=50因为它i * i % 100是周期性的,周期为正好为50。因此,数字范围不是您遇到的问题。

所有在其最后一个位置的旁边都有奇数位的完美平方以6(16,36,196,256,576等)结尾,这不是奇数。问题没有解决方法。没有以两位奇数结尾的完美平方。

这个周期的原因是任何数字都可以表示为

    n = a * 50 + b  ,  with 0 <= b < 50.  In fact, by definition b = n % 50

然后,

    n^2 % 100 =
    ( a*50 + b )^2 % 100 =
    ( (a*50)^2 + 2*b*a*50 + b^2 ) % 100 =
    ( a*a*2500 + b*a*100 + b^2 ) % 100 =
    b^2 % 100 =
    ( n % 50 )^2 % 100

换句话说,的最后2位数字与n^2的相同b^2,其中0 <= b <50,特别是b = n%50。

实际上,您甚至不需要走到49,而只需走25:

    ( 50 - i )^2 % 100 =
    ( 50^2 - 2*50*i + i^2 ) % 100 =
    ( 2500 - 100*i + i^2 ) % 100 =
    i^2 % 100

换一种说法

    50^2 %100 = (50- 0)^2 %100 =  0^2 %100 =  0
    49^2 %100 = (50- 1)^2 %100 =  1^2 %100 =  1
    48^2 %100 = (50- 2)^2 %100 =  2^2 %100 =  4
        ...
    27^2 %100 = (50-23)^2 %100 = 23^2 %100 = 29
    26^2 %100 = (50-24)^2 %100 = 24^2 %100 = 76
    25^2 %100 = (50-25)^2 %100 = 25^2 %100 = 25

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么 $('#chat_input').val(chat[i]); 只打印第一个数组元素?

来自分类Dev

两个数组的第一个公用数均为100万

来自分类Dev

learningyounode“我的第一个I / O”示例

来自分类Dev

learnyounode:#3 我的第一个 I/O

来自分类Dev

使用sed用<i> </ i>封装每个段落的第一个单词吗?

来自分类Dev

sed'5i \ n \ n \ n'myfile将第一个\ n作为文字n插入,并将另外两个\ n \ n作为新行插入,是否可以插入所有3个新行?

来自分类Dev

从列表的第 i 个条目中删除第一个 ki 元素

来自分类Dev

如何在i3中使用一个键绑定启动两个应用程序?

来自分类Dev

排序时读取两个数字而不是第一个整数

来自分类Dev

Listbox.items [i] .Selected仅捕获第一个选定的项目

来自分类Dev

正则表达式匹配带有特定前缀的单词后从I到X的一个或多个数字或罗马数字

来自分类Dev

从两个列表中计算对,相乘后得出一个完美的平方

来自分类Dev

在列中的每个第i个数字添加一个值

来自分类Dev

在列中的每个第i个数字添加一个值

来自分类Dev

如何使用AWK查找字符串中的第一个数字并打印所有内容

来自分类Dev

如何对任何两个匹配的数字或第一个数字比第二个数字小的字符串进行grep?

来自分类Dev

在一个i标签中有两个真棒字体图标

来自分类Dev

仅通过第一个单词查找两个数据框之间的匹配行

来自分类Dev

如何关闭Django的i18n数字格式,仅对模板中的一个数字关闭?

来自分类Dev

RegEx捕获两个数字之间的第一个字符串

来自分类Dev

返回/打印第一个数字超过20,最后一个数字超过20

来自分类Dev

SAS:遍历数据集,使温度数据步进入第i行,执行一些带有温度数据的处理,将结果返回到第一个数据集

来自分类Dev

查找数字串中的第一个数字

来自分类Dev

查找并替换PHP中除第一个数字外的数字

来自分类Dev

一个数字和句点后的第一个数字的正则表达式

来自分类Dev

我想使用两个线程来打印斐波那契数列。像第一个数字应该由第一线打印,然后第二个数字由第二线打印,依此类推

来自分类Dev

数字反转程序仅给出输出的第一个数字,而不是整数

来自分类Dev

如何打印第一个数字大于给定参数的行?

来自分类Dev

两个__m128i的两位到一个__m128i的四位-SSE

Related 相关文章

  1. 1

    为什么 $('#chat_input').val(chat[i]); 只打印第一个数组元素?

  2. 2

    两个数组的第一个公用数均为100万

  3. 3

    learningyounode“我的第一个I / O”示例

  4. 4

    learnyounode:#3 我的第一个 I/O

  5. 5

    使用sed用<i> </ i>封装每个段落的第一个单词吗?

  6. 6

    sed'5i \ n \ n \ n'myfile将第一个\ n作为文字n插入,并将另外两个\ n \ n作为新行插入,是否可以插入所有3个新行?

  7. 7

    从列表的第 i 个条目中删除第一个 ki 元素

  8. 8

    如何在i3中使用一个键绑定启动两个应用程序?

  9. 9

    排序时读取两个数字而不是第一个整数

  10. 10

    Listbox.items [i] .Selected仅捕获第一个选定的项目

  11. 11

    正则表达式匹配带有特定前缀的单词后从I到X的一个或多个数字或罗马数字

  12. 12

    从两个列表中计算对,相乘后得出一个完美的平方

  13. 13

    在列中的每个第i个数字添加一个值

  14. 14

    在列中的每个第i个数字添加一个值

  15. 15

    如何使用AWK查找字符串中的第一个数字并打印所有内容

  16. 16

    如何对任何两个匹配的数字或第一个数字比第二个数字小的字符串进行grep?

  17. 17

    在一个i标签中有两个真棒字体图标

  18. 18

    仅通过第一个单词查找两个数据框之间的匹配行

  19. 19

    如何关闭Django的i18n数字格式,仅对模板中的一个数字关闭?

  20. 20

    RegEx捕获两个数字之间的第一个字符串

  21. 21

    返回/打印第一个数字超过20,最后一个数字超过20

  22. 22

    SAS:遍历数据集,使温度数据步进入第i行,执行一些带有温度数据的处理,将结果返回到第一个数据集

  23. 23

    查找数字串中的第一个数字

  24. 24

    查找并替换PHP中除第一个数字外的数字

  25. 25

    一个数字和句点后的第一个数字的正则表达式

  26. 26

    我想使用两个线程来打印斐波那契数列。像第一个数字应该由第一线打印,然后第二个数字由第二线打印,依此类推

  27. 27

    数字反转程序仅给出输出的第一个数字,而不是整数

  28. 28

    如何打印第一个数字大于给定参数的行?

  29. 29

    两个__m128i的两位到一个__m128i的四位-SSE

热门标签

归档