Cody

Solution 323710

Submitted on 26 Sep 2013 by Alfonso Nieto-Castanon
  • Size: 84
  • This is the leading solution.
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

Test Suite

Test Status Code Input and Output
1   Pass
% Clean workspace !/bin/cp string_sqrt.m safe !/bin/rm *.* !/bin/mv safe string_sqrt.m % Clean user's function from some known jailbreaking mechanisms functions={'!','feval','eval','str2func','str2num','regex','system','dos','unix','perl','assert','fopen','write','save','setenv','path','please'}; fid = fopen('string_sqrt.m'); st = char(fread(fid)'); for n = 1:numel(functions) st = regexprep(st, functions{n}, 'error(''No fancy functions!''); %','ignorecase'); end fclose(fid)
ans = 0
2   Pass
%% assert(strcmp(string_sqrt(1000,10),'31.6227766016'))
3   Pass
%% assert(strcmp(string_sqrt(10,11),'3.16227766016'))
4   Pass
%% assert(strcmp(string_sqrt(3,100),'1.7320508075688772935274463415058723669428052538103806280558069794519330169088000370811461867572485756'))
5   Pass
%% assert(strcmp(string_sqrt(314159,314),'560.49888492306565872479934293941633491101288779142813321911971670725840486880541273457870660258696202335374555140881778649205224589390756076993240996126057385009263605818384161945745399159720436585888004381611637660905033452884843995010613320008027334007622507916692664539613518278405454926834945753785814159773889523'))
6   Pass
%% a=2:50; a(sqrt(a)==floor(sqrt(a)))=[]; na=numel(a); b=zeros(na,100); for flag=1:na temp=string_sqrt(a(flag),101); t2=regexprep(temp,'\.','')-'0'; b(flag,:)=t2(1:100); end y_correct=sum(sum(b)) assert(isequal(19543,y_correct))
y_correct = 19543
7   Pass
%% assert(strcmp(string_sqrt(12345,1),'111.1'))