新手求解一题
pascal吧
全部回复
仅看楼主
level 5
问题描述:给出非负整数N,统计不定方程x+y^2+z^3=N的非负整数解的数量。
样例输入:5
样例输出:6
2014年04月04日 01点04分 1
level 5
N小于10^16
2014年04月04日 01点04分 2
level 13
这道题貌似可以用嵌套循环……三层嵌套穷举xyz。
如果不限定时间的话应该可以(只不过速度有点慢,需要一些剪枝)
我目前能想到的算法:
sum清零
x:=0;
while x<=n do begin
y:=0;
while (x+y*y)<=n do begin
z:=0;
while (x+y*y+z*z*z)<=n do begin
if x+y*y+z*z*z=n then inc(sum);
inc(z);
end;
inc(y);
end;
inc(x);
end;
2014年04月04日 10点04分 3
n小于10^16啊!肯定超时的
2014年04月05日 04点04分
level 9
将n开三次方取整得到一个数p
for i:=0 to p do
用n减去i的三次方再开平方取整得到一个数q
sum:=sum+q+1
我也是新手
2014年04月11日 11点04分 4
1