while (քանի դեռ) ցիկլը

Երբեմն կարիք է լինում անել որոշ գործողություններ քանի դեռ տեղի է ունենում ինչ-որ պայման։ Օրինակ՝ քանի դեռ a փոփոխականը մեծ է 10-ից, բաժանել a3-ի։
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 թիվը)՝
  1. Ստուգում արդյոք a-ն մեծ է 10-ից (❓ 100 > 10 ⇒ ✔️)
  1. Եթե այո, ապա a-ին վերագրում ենք a / 3 (/=-ը նշանակում է a = a / 3) (a = 33)
  1. Ստուգում արդյոք a-ի նոր արժեքը մեծ է 10-ից (❓ 33 > 10 ⇒ ✔️)
  1. Եթե այո, ապա a-ին վերագրում ենք a / 3 (a = 11)
  1. Ստուգում արդյոք a-ի նոր արժեքը մեծ է 10-ից (❓ 11 > 10 ⇒ ✔️)
  1. Եթե այո, ապա a-ին վերագրում ենք a / 3 (a = 3)
  1. Ստուգում արդյոք a-ի նոր արժեքը մեծ է 10-ից (❓ 3 > 10 ⇒ ❌)
  1. Ծրագիրը դուրս է գալիս ցիկլից
  1. Ծրագիրը տպում է a-ի արժեքը (3)
 
C++ում կարճ վերագրման գործողությունները հետևյալն են՝
  • x /= 3x = x / 3
  • x *= 3x = x * 3
  • x += 3x = x + 3
  • x -= 3x = x - 3
  • x %= 3x = 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

To check your solution you need to sign in
Sign in to continue