今天的Python题目是:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?这个题目很简单,我们假设在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。
下面请看C语言求解:
#include<stdio.h> #include<math.h> int main(){ int i,x,y,z; for(i=1;i<100000;i++){ x = sqrt(i+100); y = sqrt(i+268); if(x*x == i+100 && y*y == i+268){ printf("\n%d\n",i); } } }
下面请看Python求解:
import math for i in range(100000): x = int(math.sqrt(i + 100)) y = int(math.sqrt(i + 268)) if(x * x == i + 100) and (y * y == i + 268): print(i)
最后得到的结果都是21、261、1581。但是俩者之间有着很多不同,欢迎大家留言,我们再一起讨论二者的差距。