Tuesday, February 26, 2013

Create beautiful random color with Javascript


<html>
<head>
</head>
<body>

   <div id="content" />

     <script>
  
      var golden_ratio = 0.618033988749895;
 
      function hsv_to_rgb(h, s, v){
    var r,g,b,p,q,v;
    var hi = (h*6);
var f = h*6 - hi;
p = v * (1  - s);
q = v * (1  - f*s);
t = v * (1  - (1-f) * s);
hi = parseInt(hi,10);
 
if(hi==0) { r=v; g=t; b=p; }
if(hi==1) { r=q; g=v; b=p; }
if(hi==2) { r=p; g=v; b=t; }
if(hi==3) { r=p; g=q; b=v; }
if(hi==4) { r=t; g=p; b=v; }
if(hi==5) { r=v; g=p; b=q; }
return { r : parseInt(r*256,10), g : parseInt(g*256,10), b: parseInt(b*256,10) }
 }
 
 
 var html = '';
 
 var rnd = Math.random();
 var rnds = 0.5;
 var rndv = 0.95;

 for(var i=0;i<6;i++){
 rnd += golden_ratio;
 rnd %= 1;

     var color = hsv_to_rgb(rnd, rnds, rndv);
 var hexString = '#'+color.r.toString(16)+color.g.toString(16)+color.b.toString(16);
 html += '<div style="width:50px;height:50px;background-color: '+hexString+'">&nbsp;</div><br/>';
 }
 
 
 rnds = 0.25;
 rndv = 0.8;
 for(var i=0;i<6;i++){
     console.log('*');
 rnd += golden_ratio;
 rnd %= 1;

     var color = hsv_to_rgb(rnd, rnds, rndv);
 var hexString = '#'+color.r.toString(16)+color.g.toString(16)+color.b.toString(16);
 html += '<div style="width:50px;height:50px;background-color: '+hexString+'">&nbsp;</div><br/>';
 }
 
 rnds = 0.3;
 rndv = 0.99;
 for(var i=0;i<6;i++){
     console.log('*');
 rnd += golden_ratio;
 rnd %= 1;

     var color = hsv_to_rgb(rnd, rnds, rndv);
 var hexString = '#'+color.r.toString(16)+color.g.toString(16)+color.b.toString(16);
 html += '<div style="width:50px;height:50px;background-color: '+hexString+'">&nbsp;</div><br/>';
 }
 
 //console.log(html);
 document.getElementById('content').innerHTML = html;
  </script>

</body>

</html>

Saturday, January 12, 2013

Convert binary to decimal


Convert

Convert binary to decimal.
Input 101, will be output as 5

#include <stdio.h>
#include <string.h>
#include <math.h>

int main()
{
   long int y, num, sum,k;
   char x[8];
   
   // Harusnya input terlebih dahulu, jgn strlen dulu
   scanf("%s",x); fflush(stdin);

   
   sum = 0;
   k=strlen(x);
   
   for (y=0; y<k; y++)
   {
       num=x[y]-'0';
  sum=sum + powl(2,num);
   }

   printf("%d", sum);

   getchar();

   return 0;
}