鱼C论坛

 找回密码
 立即注册
楼主: 冬雪雪冬

[技术交流] Python:每日一题 178

[复制链接]
发表于 2018-6-1 16:29:08 | 显示全部楼层
  1. for x in range(1,101):
  2.     for y in range(1,101):
  3.         for z in range(1,101):
  4.             if x + y*y == z*z*z:
  5.                 print(x,y,z)
  6.             else:
  7.                 pass
复制代码

评分

参与人数 1荣誉 +2 鱼币 +2 收起 理由
冬雪雪冬 + 2 + 2

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-1 17:07:34 | 显示全部楼层
不会啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-1 17:36:59 | 显示全部楼层
using System;

namespace 数学题
{
    class Program
    {
        static void Main(string[] args)
        {
            int x=0, y=0, z=0;
            int sum_z = 0, sum_y = 0;
            for (x = 1; x < 101; x++)
                for (y = 1; y < 101; y++)
                    for (z = 1; z < 101; z++)
                    {
                        sum_z = z * z * z;
                        sum_y = y * y;
                        if (sum_z == (sum_y + x))
                            Console.WriteLine("{0},{1},{2}",x,y,z);
                    }

            Console.WriteLine("Hello World!");
            Console.ReadLine();
        }
    }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-1 19:51:01 | 显示全部楼层
1.
for x in range(1,100):
    for y in range(1,100):
        for z in range(1,100):
            if x + y*y == z**3:
                print(x, '\t',y, '\t',z)

2.
x = range(1,101)
y = range(1,101)
z = range(1,101)
key = [ (a , b , c ) for a in x for b in y for c in z if ( a + b * b == c ** 3 )]
for each in key:
       print (each)

评分

参与人数 1荣誉 +2 鱼币 +2 收起 理由
冬雪雪冬 + 2 + 2

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-1 20:23:59 | 显示全部楼层
for i in range(1,100):
    for y in range(1,100):
        for x in range(1,21):
            if i==x**3-y**2:
                print(i,y,x)

评分

参与人数 1荣誉 +2 鱼币 +2 收起 理由
冬雪雪冬 + 2 + 2

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-1 23:24:09 | 显示全部楼层
本帖最后由 天圆突破 于 2018-6-1 23:35 编辑
  1. for j in range(1, 101):
  2.         if j*j*j > 10000:
  3.                 break
  4.         for i in range(1, 101):
  5.                 if i*i >= j*j*j:
  6.                         break
  7.                 if i*i < j*j*j - 100:
  8.                         continue
  9.                 print(j*j*j-i*i, i, j)
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-2 00:55:02 | 显示全部楼层
  1. maxZ = int((100**2+100)**(1/3))
  2. for eachZ in range(1,maxZ+1):
  3.     maxY = int((eachZ**3)**0.5)
  4.     for count in range(maxY):
  5.         Y = maxY - count
  6.         if (eachZ**3 - Y**2) <= 100 and (eachZ**3 - Y**2) >= 1:
  7.             print('%d   %d   %d' %(eachZ**3 - Y**2,Y,eachZ))
  8.         else:
  9.             break
复制代码


有點小作弊的感覺

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-2 03:54:06 | 显示全部楼层
for x in range (1, 101):
    for y in range (1, 101):
        for z in range (1, 101):
            if x+y**2 == z**3:
                print (x, y, z)

评分

参与人数 1荣誉 +2 鱼币 +2 收起 理由
冬雪雪冬 + 2 + 2

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-2 08:56:46 | 显示全部楼层
想看下最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-2 09:38:51 | 显示全部楼层
  1. import math

  2. for z in range(1,math.ceil(math.pow(10100,1/3))):
  3.     for y in range(1,101):
  4.         x = pow(z,3) - pow(y,2)
  5.         if 0< x < 101:
  6.             print(x,y,z)
  7.         else:
  8.             break
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-2 10:16:38 From FishC Mobile | 显示全部楼层
我脑袋
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-2 10:25:31 | 显示全部楼层
解法一:
  1. for x in range(1,101):
  2.         for y in range(1,101):
  3.                 for z in range(1,101):
  4.                         if (x + y*y == z * z * z):
  5.                                 print(x,y,z)
复制代码

解法二:
  1. import itertools
  2. a = range(1,101)
  3. y = list(itertools.permutations(a,3))
  4. for x in y:
  5.         if (x[0] + x[1]* x[1] == x[2] * x[2] * x[2]):
  6.                 print(x[0],x[1],x[2])
复制代码


结果。。。
调用itertools模块后的第二种解法用时是第一种复杂度n^3用时的一倍

评分

参与人数 1荣誉 +2 鱼币 +2 收起 理由
冬雪雪冬 + 2 + 2

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-2 10:50:42 | 显示全部楼层
  1. for x in range(1,101):
  2.     for y in range(1,101):
  3.         for z in range(1,23):
  4.             if x+y**2-z**3==0:
  5.                 print('%d %d %d' % (x,y,z))
复制代码

评分

参与人数 1荣誉 +2 鱼币 +2 收起 理由
冬雪雪冬 + 2 + 2

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-2 12:44:02 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-6-2 14:07:37 | 显示全部楼层
本帖最后由 lan358088 于 2018-6-2 14:08 编辑

for x in range (1,100):
    for y in range (1,100):
        for z in range (1,100):
            if x+y*y==z*z*z:
                print (x, y, z)

评分

参与人数 1荣誉 +2 鱼币 +2 收起 理由
冬雪雪冬 + 2 + 2

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-2 14:28:21 | 显示全部楼层
for x in range(1,101):
    for y in range(1,101):
        for z in range(1,101):
            if (x + y**2 == z**3):
                print(x,y,z)

评分

参与人数 1荣誉 +2 鱼币 +2 收起 理由
冬雪雪冬 + 2 + 2

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-2 15:40:43 | 显示全部楼层
for x in range(1,100):
    for y in range(1,100):
        for z in range(1,100):
            if x+y**2==z**3:
                print(x,y,z)

评分

参与人数 1荣誉 +2 鱼币 +2 收起 理由
冬雪雪冬 + 2 + 2

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-2 19:03:01 | 显示全部楼层
for x in range(1,100):
    for y in range(1,100):
        for z in range(1,100):
            a = x + pow(y,2) - pow(z,3)#pow(x,y[.z]),返回X的y次幂(有z则对z取模)
            if a == 0:
                print("%d  %d  %d \r\n" % (x,y,z))

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-2 22:19:05 | 显示全部楼层
for x in range(1,101,1):
    for y in range(1,101,1):
        for z in  range(1,101,1):
            if (x) == (z ** 3 - y ** 2):
                print(x,y,z,'\n')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-2 22:49:01 | 显示全部楼层
>>> for i in range(1,101):
        for y in range(1,101):
                for z in range(1,101):
                        print(i,y,z)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-25 22:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表