while (քանի դեռ) ցիկլը
Երբեմն կարիք է լինում անել որոշ գործողություններ քանի դեռ տեղի է ունենում ինչ-որ պայման։ Օրինակ՝ քանի դեռ
a
փոփոխականը մեծ է 10
-ից, բաժանել a
-ն 3
-ի։C++
ում այդպիսի բան կարելի է ստանալ while
-ի միջոցով։ Եթե մեր օրինակը գրենք C++
ով, ապա այն կունենա հետևյալ տեսքը՝#include <iostream>
using namespace std;
int main() {
int a;
cin >> a;
while (a > 10) {
a /= 3;
}
cout << a;
return 0;
}
while
-ը իր տեսքով շատ նման է if
-ին։ Կլոր փակագծերի մեջ գրվում է պայմանը, որը կատարվելու դեպքւմ կատարվում է ձևավոր փակագծերի մեջ գրվածը։Կարելի է ասել որ
if
-ը նույն while
-ն է, բայց կատարվում է միայն մեկ անգամ, իսկ while
-ը՝ քանի դեռ փակագծերի մեջ գրված պայմանը ճիշտ է։Այս ծրագրում մենք ներմուծում ենք
a
փոփոխականը և հետո անում հետևյալը (ենթադրենք որ ներմուծել ենք 100 թիվը)՝- Ստուգում արդյոք
a
-ն մեծ է 10-ից (❓ 100 > 10 ⇒ ✔️)
- Եթե այո, ապա
a
-ին վերագրում ենքa / 3
(/=
-ը նշանակում էa = a / 3
) (a = 33)
- Ստուգում արդյոք
a
-ի նոր արժեքը մեծ է 10-ից (❓ 33 > 10 ⇒ ✔️)
- Եթե այո, ապա
a
-ին վերագրում ենքa / 3
(a = 11)
- Ստուգում արդյոք
a
-ի նոր արժեքը մեծ է 10-ից (❓ 11 > 10 ⇒ ✔️)
- Եթե այո, ապա
a
-ին վերագրում ենքa / 3
(a = 3)
- Ստուգում արդյոք
a
-ի նոր արժեքը մեծ է 10-ից (❓ 3 > 10 ⇒ ❌)
- Ծրագիրը դուրս է գալիս ցիկլից
- Ծրագիրը տպում է
a
-ի արժեքը (3)
C++
ում կարճ վերագրման գործողությունները հետևյալն են՝x /= 3
→x = x / 3
x *= 3
→x = x * 3
x += 3
→x = x + 3
x -= 3
→x = x - 3
x %= 3
→x = x % 3
Վարժություն՝
Մուտքում տրված է
x
ամբողջ թիվը։Քանի դեռ
x
-ը մեծ է 0-ից, տպել x
-ի արժեքը և բաժանել այն 2-ի։Մուտք | Ելք |
100 | 100 50 25 12 6 3 1 |
Constraints
Time limit: 0.2 seconds
Memory limit: 512 MB
Output limit: 1 MB