方程: a^2 + b^2 + c^2 = 1000
(或参见【图1.jpg】)
这个方程有整数解吗?有:a,b,c=6,8,30 就是一组解。
你能算出另一组合适的解吗?
请填写该解中最小的数字。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。谢谢
#比赛需要 很是暴力
def sam():
for i in range(33):
for j in range(33):
for k in range(33):
if(i**2+j**2+k**2==1000):
print(i,j,k)
sam()
在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。
每个炸弹都可以设定多少天之后爆炸。
比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。
有一个贝塔炸弹,2014年11月9日放置,定时为1000天,请你计算它爆炸的准确日期。
请填写该日期,格式为 yyyy-mm-dd 即4位年份2位月份2位日期。比如:2015-02-19
请严格按照格式书写。不能出现其它文字或符号。
小明发现了一个奇妙的数字。它的平方和立方正好把0~9的10个数字每个用且只用了一次。
你能猜出这个数字是多少吗?
def sam(li,pin):
num=[0,0,0,0,0,0,0,0,0,0];
li=str(li)
pin=str(pin)
for i in range(len(li)):
num[int(li[i])]+=1
for i in range(len(pin)):
num[int(pin[i])]+=1
for i in range(10):
if(num[i]!=1):
return 0
return 1
for i in range(4,1000):
a=sam(i**2,i**3)
if a==1:
print('答案:',i)
break
StringInGrid函数会在一个指定大小的格子中打印指定的字符串。
要求字符串在水平、垂直两个方向上都居中。
如果字符串太长,就截断。
如果不能恰好居中,可以稍稍偏左或者偏上一点。
下面的程序实现这个逻辑,请填写划线部分缺少的代码。
#include
#include
void StringInGrid(int width, int height, const char* s)
{
int i,k;
char buf[1000];
strcpy(buf, s);
if(strlen(s)>width-2) buf[width-2]=0;
printf("+");
for(i=0;i
1,2,3...9 这九个数字组成一个分数,其值恰好为1/3,如何组法?
下面的程序实现了该功能,请填写划线部分缺失的代码。
#include
void test(int x[])
{
int a = x[0]*1000 + x[1]*100 + x[2]*10 + x[3];
int b = x[4]*10000 + x[5]*1000 + x[6]*100 + x[7]*10 + x[8];
if(a*3==b) printf("%d / %d\n", a, b);
}
void f(int x[], int k)
{
int i,t;
if(k>=9){
test(x);
return;
}
for(i=k; i<9; i++){
{t=x[k]; x[k]=x[i]; x[i]=t;}
f(x,k+1);
_____________________________________________ // 填空处
}
}
int main()
{
int x[] = {1,2,3,4,5,6,7,8,9};
f(x,0);
return 0;
}
注意:只填写缺少的内容,不要书写任何题面已有代码或说明性文字。
小明被劫持到X赌城,被迫与其他3人玩牌。
一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张。
这时,小明脑子里突然冒出一个问题:
如果不考虑花色,只考虑点数,也不考虑自己得到的牌的先后顺序,自己手里能拿到的初始牌型组合一共有多少种呢?
请填写该整数,不要填写任何多余的内容或说明文字。
result=0
def sam(a,num):
global result
if num==13:
result+=1
return
if a==14 or num>13:
return
for i in range(5):
sam(a+1,num+i)
sam(1,0)
print(result)
小明有3颗红珊瑚,4颗白珊瑚,5颗黄玛瑙。
他想用它们串成一圈作为手链,送给女朋友。
现在小明想知道:如果考虑手链可以随意转动或翻转,一共可以有多少不同的组合样式呢?
请你提交该整数。不要填写任何多余的内容或说明性的文字。
pan=set()
sam=0
sa=[1,2,3]
def list_to_int(a):
result=0
for i in range(12):
result+=10**(11-i)*a[i]
return result
def to_add(a):
global pan,sam
b=a.copy()
pan.add(list_to_int(b))
for i in range(11):
c=b[0]
for j in range(1,12):
b[j-1]=b[j]
b[11]=c
pan.add(list_to_int(b))
b=a.copy()
b.reverse()
pan.add(list_to_int(b))
for i in range(11):
c=b[0]
for j in range(1,12):
b[j-1]=b[j]
b[11]=c
pan.add(list_to_int(b))
sam+=1
def kol(a,b,num):
global pan,sa
if num==12:
if list_to_int(a) not in pan:
to_add(a)
return
for i in range(3):
if b[i]!=0:
b[i]-=1
a.append(sa[i])
kol(a.copy(),b.copy(),num+1)
a.pop()
b[i]+=1
kol([],[3,4,5],0)
print('总组合情况:',len(pan),'无重合的情况有:',sam)