Howdy, Stranger!

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

Categories

Welcome to the new platform of Programmers Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use it's exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

need help! simple counting programm

Posts: 3Member
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);
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 :)

· ·

• Posts: 438Member
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) ;
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) ;
end.
[/code]
· ·
• Posts: 438Member
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) ;
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) ;
end.
[/code]
· ·
• Posts: 438Member
[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) ;