Recent

Author Topic: Help please  (Read 14477 times)

Derian

  • New Member
  • *
  • Posts: 20
Re: Help please
« Reply #30 on: September 23, 2014, 07:14:28 am »
well i'd do this :
eg if i would have 14

14 div 2 = 7 ; 14 mod 2 = 0
7 div 2 = 3 ; 7 mod 2 = 1
3 div 2 = 1 ; 3 mod 2 = 1
1 div 2 = 0 ; 1 mod 2 = 1

then the number would be 1110
but if i  had a higher number this would be longer and harder to do
« Last Edit: September 23, 2014, 07:42:45 am by Derian »

taazz

  • Hero Member
  • *****
  • Posts: 5368
Re: Help please
« Reply #31 on: September 23, 2014, 07:33:56 am »
well i'd do this :
eg if i would have 17

14 div 2 = 7 ; 14 mod 2 = 0
7 div 2 = 3 ; 7 mod 2 = 1
3 div 2 = 1 ; 3 mod 2 = 1
1 div 2 = 0 ; 1 mod 2 = 1

then the number would be 1110
but if i  had a higher number this would be longer and harder to do

OK can you convert that to a loop?
Good judgement is the result of experience … Experience is the result of bad judgement.

OS : Windows 7 64 bit
Laz: Lazarus 1.4.4 FPC 2.6.4 i386-win32-win32/win64

Derian

  • New Member
  • *
  • Posts: 20
Re: Help please
« Reply #32 on: September 23, 2014, 08:20:51 am »
well i wrote this , im not sure if its not wrong
Code: [Select]
program project6;
 var num,c,d,sum:integer;


begin
  writeln('entry number');
  readln(num);

  sum:=0;
  Repeat
    c:=num div 2;
    d:=num mod 2;
    num:=c;
    sum:=sum+d;
    until c=0 ;
    writeln('the sums of digits is ', sum);

end.
                                 

taazz

  • Hero Member
  • *****
  • Posts: 5368
Re: Help please
« Reply #33 on: September 23, 2014, 08:28:53 am »
well i wrote this , im not sure if its not wrong
Code: [Select]
program project6;
 var num,c,d,sum:integer;


begin
  writeln('entry number');
  readln(num);

  sum:=0;
  Repeat
    c:=num div 2;
    d:=num mod 2;
    num:=c;
    sum:=sum+d;
    until c=0 ;
    writeln('the sums of digits is ', sum);

end.
                                 

Ok lets clean up a bit the code.

Code: [Select]
program project6;
var
  num, d,sum:integer;

begin
  writeln('entry number');
  readln(num);

  sum:=0;
  Repeat
    d:=num mod 2;
    sum:=sum+d;
    num:=num div 2;
    until num=0 ;
    writeln('the sums of digits is ', sum);
end.
that should do it and congrats you did well.
Good judgement is the result of experience … Experience is the result of bad judgement.

OS : Windows 7 64 bit
Laz: Lazarus 1.4.4 FPC 2.6.4 i386-win32-win32/win64

Derian

  • New Member
  • *
  • Posts: 20
Re: Help please
« Reply #34 on: September 23, 2014, 08:32:30 am »
Thank you.

 

TinyPortal © 2005-2018