Greenland
发表于 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)
陈大印
发表于 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)
dream_11
发表于 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()
count += 1
for i in range(count):
list_4 = sorted(list_1)
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))
半月先生
发表于 2017-9-2 19:53:52
怎么个程序呢
tich
发表于 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()
银色的色
发表于 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)
工程狗
发表于 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,"种排列")
小贱剑
发表于 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)
PythonHanoi
发表于 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)
ChrisYang
发表于 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()
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种排列:他们分别是
zzz1994
发表于 2017-9-3 22:07:11
111
baicel21314
发表于 2017-9-4 10:11:06
想到的答案已经有人写了,就不回答了。。。{:5_97:}
pu1434
发表于 2017-9-4 15:24:22
银色的色 发表于 2017-9-2 22:01
啊啊啊啊啊~
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);
可爱的失踪人口
发表于 2017-9-4 17:43:48
{:5_91:}
Assistant
发表于 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)
龍三少
发表于 2017-9-5 10:21:38
看看你的做法,我用了三层嵌套,不知合不合适
龍三少
发表于 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;
}
ESON
发表于 2017-9-5 14:31:13
看看
星际流火
发表于 2017-9-5 14:41:54
w
古堡主人。
发表于 2017-9-5 14:52:24
jerryxjr1220 发表于 2017-8-31 09:24
感觉这句好复杂,能不能讲讲这个句话怎么执行的