As 0^2 is 0, I never even considered it to be a perfect square so I stand corrected.
My error; however my code can very easily be changed to cater for it.
As you say it is slow, but it was coded from an observation not from any mathematical set of algorithms, that is, every _line_no_ is the perfect square of the odd number series...
Yes, it was a long post. I hope a few people found the narrative informative.
My code rejected 0 since your code didn't process it correctly. If you'd like to modify my script to accept 0, here is a diff showing the changes needed:
Your code used the observation that the sum of all of the odd numbers from 0 to x is a perfect square. My code used the observation that the square root of any positive x digit number has a square root between 10^((x-1)/2) and 10^(((x-1)/2)+1)-1 inclusive (except for the number 0 [since 10^0 is 1; not 0]).
Your code starts with the lowest perfect square and calculates successive perfect squares until it has a perfect square that is greater than or equal to the number being checked. My code performs a binary search of the possible square roots that could match the target number until it determines that there is a square root in range that is the square root of the target or determines that one does not exist.
For a 63-bit integer value, your code may need to loop through millions of possible perfect squares. A binary search like my code uses needs to loop through no more than 32 possible square roots. My code needs less than that since it restricts the high and low possible square roots based on the number of digits in the target number.
Hi All,
I have a file of the following format.
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager"/>
<role rolename="admin"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user... (5 Replies)
Here's my work of testing whether a number input is perfect or not..
echo Enter a number
read no
i=1
ans=0
while
do
if
then
ans='expr $ans + $i'
fi
i='expr $i + 1'
done
if
then
echo $no is perfect
else
echo $no is NOT perfect
fi (12 Replies)
I've got an aix-box somewhere on the network and a PC on my desk. Nothing fancy so far.
The PC is made dual-boot:
- windowsXP with putty & winSCP
or
- slackware 13 with xfce4 installed.
The aix-box runs DB2 v8.2 and I've installed db2top to monitor the database.
db2top is a character... (0 Replies)
Hi All,
I have a text file which looks like this:
computer programming
systems engineering
I want to get rid of these square brackets and also the text that is inside these brackets. So that my final text file looks like this:
computer programming
systems engineering
I am using... (3 Replies)
I want to print only the lines that meet the criteria : "worde:" and "wordo;"
I got this far:
sed -n '/\(*\)\1e:\1o;/p;'
But it doesn't quite work.
Can someone please perfect it and tell me exactly how its a fixed version/what was wrong with mine?
Thanks heaps, (1 Reply)
I have to find last delimiter in each line of a file and store the value after the last '/' in a variable in ksh script...Pls Pls help me:(The file is as shown below:
/opt/apps/cobqa/apps/abadv/bind/advc0007.bnd
/opt/apps/cobqa/apps/abbrio/bind/naac6115.bnd... (5 Replies)
Discussion started by: bhavanabahety
5 Replies
LEARN ABOUT OPENDARWIN
funimagerowput
funimagerowput(3) SAORD Documentation funimagerowput(3)NAME
FunImageRowPut - put row(s) of an image
SYNOPSIS
#include <funtools.h>
void *FunImageRowPut(Fun fun, void *buf, int rstart, int rstop,
int dim1, int dim2, int bitpix, char *plist)
DESCRIPTION
The FunImageRowPut() routine writes one or more image rows to the specified FITS image file. The first argument is the Funtools handle
returned by FunOpen(). The second buf argument is a pointer to the row data buffer, while the third and fourth arguments specify the
starting and ending rows to write. Valid rows values range from 1 to dim2, i.e., row is one-valued.
The dim1and dim2 arguments that follow specify the dimensions, where dim1 corresponds to naxis1 and dim2 corresponds to naxis2. The bitpix
argument data type of the image and can have the following FITS-standard values:
o 8 unsigned char
o 16 short
o 32 int
o -32 float
o -64 double
For example:
double *drow;
Fun fun, fun2;
... open files ...
/* get section dimensions */
FunInfoGet(fun, FUN_SECT_DIM1, &dim1, FUN_SECT_DIM2, &dim2, 0);
/* allocate one line's worth */
drow = malloc(dim1*sizeof(double));
/* retrieve and process each input row (starting at 1) */
for(i=1; i <= dim2; i++){
if( !FunImageRowGet(fun, drow, i, i, "bitpix=-64") )
gerror(stderr, "can't FunImageRowGet: %d %s
", i, iname);
... process drow ...
if( !FunImageRowPut(fun2, drow, i, i, 64, NULL) )
gerror(stderr, "can't FunImageRowPut: %d %s
", i, oname);
}
...
The data are assumed to be in the native machine format and will automatically be swapped to big-endian FITS format if necessary. This
behavior can be over-ridden with the convert=[true|false] keyword in the plist param list string.
When you are finished writing the image, you should call FunFlush() to write out the FITS image padding. However, this is not necessary if
you subsequently call FunClose() without doing any other I/O to the FITS file.
SEE ALSO
See funtools(7) for a list of Funtools help pages
version 1.4.2 January 2, 2008 funimagerowput(3)