分类：教育/科学-理工学科-数学
问题：C++证明题求助：哪位知道如何证明这题：完全平方（i*i）的最后? 
写一个来查找和打印第一个完全平方（i*i）的最后数都是奇数。证明，理论上，任何程序，写下你解决以上问题，将运行时间无限。
回答：其实只要检查5到99以内的奇数的平方的最后两位是否有可能全是奇数就行了，因为偶数的平方的最后一位肯定是偶数，小于5的奇数的平方是一位数，大于99的整数的倒数第三位及其更高位在该整数平方时不会影响乘积的最后两位的值。可以编写下面的++函数，上机试验一下，就会发现没有哪个5到99以内的奇数的平方的最后两位都是奇数。因此，如果真的要编一个程序，从5开始，一个一个奇数检查下去，是根本找不到符合要求的整数的，因而是没有尽头的，所以运行时间无限。bool judge(){  int i, j, m, n;  bool found =false;  for (i = 5; i <= 99; i += 2)  {    j = i * i;    m = j % 10;  //个位数    n = (j % 100) / 10;  //十位数    if ((m % 2 == 1) && (n % 2 == 1))      found = true;  }   return found;  }