鱼C论坛

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

[技术交流] Python:每日一题 88(答题领鱼币)

[复制链接]
发表于 2017-9-1 23:29:37 | 显示全部楼层
本帖最后由 Greenland 于 2017-9-1 23:32 编辑
def foo(number):
    count = 0
    for i in range(1, number + 1):
        for j in range(1, number + 1):
            if i + j < number:
                print(i, j, number - i - j)
                count += 1
            else:
                break
    print("总共有%d种排列" % count)

评分

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

查看全部评分

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

使用道具 举报

发表于 2017-9-2 18:24:42 | 显示全部楼层
i = 0
for a in range(1,20):
    for b in range(1,20):
        for c in range(1,20):
            if a+b+c == 20:
                print(a,b,c)
                i+= 1
print(i)

评分

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

查看全部评分

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

使用道具 举报

发表于 2017-9-2 19:32:36 | 显示全部楼层
list_1 = []
list_new = []
count = 0
for i in range(1,20):
        for j in range(1,20):
                for k in range(1,19):
                        if i + j + k == 20:
                                list_1.append([i,j,k])
                                count += 1
for i in range(count):
        list_4 = sorted(list_1[i])
        if list_4 not in list_new:
                list_new.append(list_4)
for i in list_new:
        for j in i:
                print(j,end=' ')
        print()
print(count)
print(len(list_1))

评分

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

查看全部评分

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

使用道具 举报

发表于 2017-9-2 19:53:52 | 显示全部楼层
怎么个程序呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-2 20:32:53 | 显示全部楼层
def main():
    i = 0
    for x in range(1, 19):
        for y in range(1, 21-1-x):
            if 20-x-y > 0:
                i += 1
    print(i)

if __name__ == '__main__':
    main()

评分

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

查看全部评分

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

使用道具 举报

发表于 2017-9-2 22:01:59 | 显示全部楼层
啊啊啊啊啊~
list0 = []
for x in range(1,19):
    for y in range(1,19):
        for z in range(1,19):
            if x+y+z ==20:
                list0.append((x,y,z))

print(len(list0))
print(list0)

评分

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

查看全部评分

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

使用道具 举报

发表于 2017-9-3 09:14:47 | 显示全部楼层
count = 0
for a in range(1,21):
    for b in range(1,21):
        for c in range(1,21):
            if a+b+c==20:
                count += 1
                print(a,b,c)
print("一共有",count,"种排列")

评分

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

查看全部评分

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

使用道具 举报

发表于 2017-9-3 09:45:04 | 显示全部楼层
def sum20():
    list1=[]
    for i in range(1,19):
        for j in range(1,19):
            for k in range(1,19):
                if (i+j+k)==20:
                    list2=list((i,j,k))
                    list2.sort()
                    if (list2) not in list1:
                        list1.append(list2)
                        
    print(list1,end=' ')
    return len(list1)

评分

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

查看全部评分

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

使用道具 举报

发表于 2017-9-3 18:04:19 | 显示全部楼层
count=0
for x in range(1,21):
        for y in range(1,21):
                for z in range(1,21):
                        if x+y+z==20:
                                print(x,y,z)
                                count+=1
print(count)
                        

评分

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

查看全部评分

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

使用道具 举报

发表于 2017-9-3 21:34:44 | 显示全部楼层
list1=[]
for i in range(1,19):
      for q in range(1,19):
            for w in range(1,19):
                  if i+q+w==20:
                        list1.append([i,q,w])

j=[]
list2=[]
for e in list1:
      if set(e) not in j:
            j.append((set(e)))
            list2.append(e)
print("一共有%d种排列:他们分别是"% len(j))
for each in list2:
      print(each,end='\n')
_____________________________________________________________
一共有33种排列:他们分别是
[1, 1, 18]
[1, 2, 17]
[1, 3, 16]
[1, 4, 15]
[1, 5, 14]
[1, 6, 13]
[1, 7, 12]
[1, 8, 11]
[1, 9, 10]
[2, 2, 16]
[2, 3, 15]
[2, 4, 14]
[2, 5, 13]
[2, 6, 12]
[2, 7, 11]
[2, 8, 10]
[2, 9, 9]
[3, 3, 14]
[3, 4, 13]
[3, 5, 12]
[3, 6, 11]
[3, 7, 10]
[3, 8, 9]
[4, 4, 12]
[4, 5, 11]
[4, 6, 10]
[4, 7, 9]
[4, 8, 8]
[5, 5, 10]
[5, 6, 9]
[5, 7, 8]
[6, 6, 8]
[6, 7, 7]

评分

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

查看全部评分

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

使用道具 举报

发表于 2017-9-3 22:07:11 | 显示全部楼层
111
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-9-4 10:11:06 | 显示全部楼层
想到的答案已经有人写了,就不回答了。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-4 15:24:22 | 显示全部楼层

33种
pm=0
for i in range(1,20):
    for j in range(i,10):
        for k in range(j,20):
            if(i+j+k==20):
                print(i,j,k);
                pm+=1;
print(pm);

评分

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

查看全部评分

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

使用道具 举报

发表于 2017-9-4 17:43:48 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-9-4 19:04:28 | 显示全部楼层
a,b,c,count = 1,1,18,0
while a < 19:
    while b < 20 - a:
        c = 20 - a - b
        count += 1
        print(a,b,c)
        b += 1
    a += 1
    b = 1
print("总共有%d种排列" % count)

评分

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

查看全部评分

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

使用道具 举报

发表于 2017-9-5 10:21:38 | 显示全部楼层
看看你的做法,我用了三层嵌套,不知合不合适
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-5 10:30:57 | 显示全部楼层
一个小白的做法,结果是171,不知道对不对
#include <stdio.h>


int main(int argc, char* argv[])
{
        int i, j, k;
        int res = 0;
        int count = 0;
       
       
        for (i =1; i <= 18; ++i)
        {
                for (j = 1; j <= 18; ++j)
                {
                        for (k = 18; k >=1; --k)
                        {
                                res = i + j + k;
                                if (20 == res)
                                {
                                        printf("i = %d, j = %d, k = %d\n", i, j, k);
                                        count += 1;
                                }
                        }
                }
        }
        printf("总共有%d种排列方法\n", count);
        return 0;
}

评分

参与人数 1荣誉 +4 鱼币 +4 收起 理由
冬雪雪冬 + 4 + 4 欢迎用各种语言解题

查看全部评分

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

使用道具 举报

发表于 2017-9-5 14:31:13 | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-9-5 14:41:54 | 显示全部楼层
w
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-9-5 14:52:24 | 显示全部楼层

感觉这句好复杂,能不能讲讲这个句话怎么执行的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-23 06:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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