Cho đoạn chương trình sau:
S := 0 ;
FOR i := 1 to 10 DO
IF (i mod 3=0) or (i mod 5=0) THEN S := S + 1 ;
Sau khi thực hiện, S có giá trị?
giải tay giúp mình với ạ thxx
Cho đoạn chương trình sau:
S := 0 ;
FOR i := 1 to 10 DO
IF (i mod 3=0) or (i mod 5=0) THEN S := S + 1 ;
Sau khi thực hiện, S có giá trị?
giải tay giúp mình với ạ thxx
– Các số chia hết cho 3 hoặc 5 từ 1 đến 10 là: 3; 5; 6; 9; 10
– Từ đoạn chương trình trên, ta có:
+ i = 3 → s=0+1=1
+ i = 5 → s=1+1=2
+ i = 6 → s=2+1=3
+ i = 9 → s=3+1=4
+ i = 10 → s=4+1=5
Vậy sau khi thực hiện, S có giá trị là 5
+ Từ 1 đến 10 có các số chia hết cho 3 là: 3; 6; 9;
+ Từ 1 đến 10 có các số chia hết cho 5 là: 5; 10;
=> Từ 1 đến 10 có các số chia hết cho 3 hoặc 5 là: 3; 5; 6; 9; 10;
Quá trình thực hiện:
+ Khi i:= 3 thì S:= 0+1;
+ Khi i:= 5 thì S:= 1+1;
+ Khi i:= 6 thì S:= 2+1;
+ Khi i:= 9 thì S:= 3+1;
+ Khi i:=10 thì S:= 4+1;
=> sau khi thực hiện lệnh trên, biến S sẽ có giá trị là 5.