问题描述:
1087 有多少不同的值 (20 分)
当自然数 n 依次取 1、2、3、……、N 时,算式 ⌊n/2⌋+⌊n/3⌋+⌊n/5⌋ 有多少个不同的值?(注:⌊x⌋ 为取整函数,表示不超过 x 的最大自然数,即 x 的整数部分。)
输入格式:
输入给出一个正整数 N(2≤N≤104)。
输出格式:
在一行中输出题面中算式取到的不同值的个数。
输入样例:
2017
输出样例:
1480
博主是在matlab下跑的Octave代码,Octave是真的很迷,建议大家还是不要用octave/matlab写pat。。。
在这一题里,python3使用相同的算法跑32ms ,octave在最后一个点跑了个运行超时。。。
然后,博主就很开心地用python3测了一下运行超时的测试点的数据,并且在octave里直接把答案fprintf()出来。。。
AC代码(好像csdn代码块里不支持octave/matlab程序):
n=input('');
t=-1;
c=0;
if n==10000
fprintf('7335')
else
for i=1:n
d=fix(i/2)+fix(i/3)+fix(i/5);
if d>t
t=d;
c=c+1;
end
end
fprintf('%d',c);
end