need help! simple counting programm

so i am beginer and just studying all this things and i would like to get help, if anyone can help me :) so there is the thing:
Programm looks like this:

program program1;
var a, b:integer;
begin
b:=0;
for a:=100 downto 1 do
b:=b+a;
writeln('number summ from 1 to 100 is: ',b);
readln;
end.

and i want to add to this program 1 feature; so how to get this program that it makes sum from 1 to 100 but doesnt counts in number which contains 7, like 7; 17; 37; 72 ...
so the thing is that i need to count all numbers (1 to 100) in summ but without those ones who contains 7

any help would be good :)


Comments

  • Why do you count down instead of up?
    [code]
    program program2;
    var
    a, b:integer;
    begin
    b:=0;
    for a:=100 downto 1 do begin
    if (a mod 10) = 7 then
    continue ;
    if ((a div 10) mod 10) = 7 then
    continue ;
    b:=b+a
    end ;
    writeln('number summ from 1 to 100 is: ',b) ;
    readln;
    end.
    [/code]
    If you have an older Pascal that does not support [b]continue[/b] then
    [code]
    program program3;
    var
    a, b:integer;
    flag1,
    flag2 : boolean ;
    begin
    b:=0;
    for a:=100 downto 1 do begin
    flag1 := ((a mod 10) = 7) ;
    flag2 := (((a div 10) mod 10) = 7) ;
    if (not flag1) and (not flag2) then
    b:=b+a
    end ;
    writeln('number summ from 1 to 100 is: ',b) ;
    readln;
    end.
    [/code]
  • Why do you count down instead of up?
    [code]
    program program2;
    var
    a, b:integer;
    begin
    b:=0;
    for a:=100 downto 1 do begin
    if (a mod 10) = 7 then
    continue ;
    if ((a div 10) mod 10) = 7 then
    continue ;
    b:=b+a
    end ;
    writeln('number summ from 1 to 100 is: ',b) ;
    readln;
    end.
    [/code]
    If you have an older Pascal that does not support [b]continue[/b] then
    [code]
    program program3;
    var
    a, b:integer;
    flag1,
    flag2 : boolean ;
    begin
    b:=0;
    for a:=100 downto 1 do begin
    flag1 := ((a mod 10) = 7) ;
    flag2 := (((a div 10) mod 10) = 7) ;
    if (not flag1) and (not flag2) then
    b:=b+a
    end ;
    writeln('number summ from 1 to 100 is: ',b) ;
    readln;
    end.
    [/code]
  • [code]
    program program4;
    {
    probably the most elegant solution
    }
    var
    a, b : integer ;
    begin
    b := 0 ;
    for a := 1 to 100 do
    if ((a mod 10) <> 7) and (((a div 10) mod 10) <> 7) then
    b := b + a ;
    writeln('number sum from 1 to 100 is: ', b) ;
    readln
    end.
    [/code]
  • thank you :) it helped :)
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories