Python经典练习题1:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

Python经典练习题

网上能够搜得到的答案为:

for i in range(1,85):
    if 168 % i == 0:
        j = 168 / i;
        if  i > j and (i + j) % 2 == 0 and (i - j) % 2 == 0 :
            m = (i + j) / 2
            n = (i - j) / 2
            x = n * n - 100
            print(x)

输出答案为:

-99
21
261
1581

但其实四个数字,均不符合+100和+168后,仍为完全平方数的条件;

正确代码如下:

import math
n = 0
count = 0
while True:
    first = n + 100
    second = n + 168
    first_sqrt = int(math.sqrt(first))
    second_sqrt = int(math.sqrt(second))
    if (first_sqrt*first_sqrt == first) and (second_sqrt*second_sqrt == second):
        print(n)
        break
    n = n + 1

正确答案只有一个:

156

原文地址:https://www.cnblogs.com/huxianhe0/p/9276850.html

时间: 2024-11-06 09:37:11

Python经典练习题1:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?的相关文章

在10万以内判断,一个整数加上100后是一个完全平方数,再加上168又是一个完全平方数,求该数

题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? 程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后 的结果满足如下条件,即是结果. 程序源代码: #include<stdio.h> #include<math.h> int main() { long int i, x, y; for (i = 1; i<100000; i++) { x = sqrt(i + 100); y = sq

38.一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

//从这个小题可以学习到完全平方数的判断 //1.先判断出题目需要一个循环来尝试不同的数,for循环较为适合 //2.题目的关键是如何表示完全平方数,运用到sqrt()函数,通过sqrt*sqrt间接的达到完全平方的要求 ?#include<iostream> #include<cmath> using namespace std; int main() { int temp1,temp2; for(int i=1;i<=10000;i++) { temp1=sqrt(i+1

一个整数,它加上100 后是一个完全平方数,再加上168 又是一个完全平方数, 请问该数是多少?

""" 一个整数,它加上100 后是一个完全平方数,再加上168 又是一个完全平方数, 请问该数是多少? """ # x*x =100+n # y*y =100+168+n res = [] for i in range(10, 100): res.append(i * i) for n in range(len(res)): a = res[n] -100 for x in range(len(res)): b = res[x] -268 if

一个整数,它加上100后是一个完全平方数, 再加上168又是一个完全平方数,请问该数是多少?

题目:一个整数,它加上100后是一个完全平方数, 再加上168又是一个完全平方数,请问该数是多少? 程序分析:在10万以内判断,先将该数加上100后再开方, 再将该数加上268后再开方,如果开方后的结果满足如下条件, 即是结果.请看具体分析: public class 第十三题完全平方数 { public static void main(String[] args) { for(int i=0; i<=100000; i++) { if(Math.sqrt(i+100) % 1==0 &&

一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足条件,即是结果 #include<stdio.h> #include<math.h> int main() {       long int i,x,y;       for(i=1;i<=100000;i++)       {             x=sqrt(i+100);             y=sqrt(i+268);             if(x*x=

Python基础(3)一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

for i in range(1,1000):    for j in range(1,1000):        for k in range(1,1000):            if (i+100)==j*j and (i+268)==k*k:                print i    #优化 import mathfor z in range(10000):    x=int(math.sqrt(100+z))    y=int(math.sqrt(268+z))    if

题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

public class lianxi13 { public static void main(String[] args) { for (int n = -100; n <= Integer.MAX_VALUE; n++ ) { if (Math.sqrt(n+100) % 1 == 0) { if (Math.sqrt(n+268) % 1 == 0) { System.out.println("所求的数字为:" +n); } } } } }

[Python]Python 经典例题

Python 经典例题 1 题目:一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程找出1000以内的所有完数. #!/usr/bin/python # -*- coding: UTF-8 -*- from sys import stdout for j in range(2,1001): k = [] n = -1 s = j for i in range(1,j): if j % i == 0: n += 1 s -= i k.append(i) if

Python基础练习题100例(Python 3.x)

1:题目:有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? 程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. 程序源代码: 1 for i in range(1, 5): 2 for j in range(1, 5): 3 for k in range(1, 5): 4 if (i != k) and (i != j) and (j != k): 5 print(i, j, k) 以上实例输出结果为: 1 1 2