За 2. Взвешиваем по три монеты, если одна легче, то фальшивая среди этих трех, если равновесие, то фальшивая среди трех невзвешененных, потом по одной из тройки где фальшивая, и рассуждаем так же, если одна из монет легче, то она фальшивая, а если равновесие, то фальшивая невзвешенная. Точно также из 27 монет можно определить фальшивую за 3 взвешивания, из 81 за 4, из 3 в степени N монет - за N взвешиваний. А если число монет не равно 3 в степени N, то число взвешиваний равно ближайшей большей степени тройки. То есть, например, если монет 74 - то одну монету тоже можно определить за 4 взвешивания, как и среди 81 монеты. А вот если монет 82, то уже только за 5 взвешиваний - ближайшая большая степень двойки - 243 - 2 в степени 5.
За 2. Взвешиваем по три монеты, если одна легче, то фальшивая среди этих трех, если равновесие, то фальшивая среди трех невзвешененных, потом по одной из тройки где фальшивая, и рассуждаем так же, если одна из монет легче, то она фальшивая, а если равновесие, то фальшивая невзвешенная. Точно также из 27 монет можно определить фальшивую за 3 взвешивания, из 81 за 4, из 3 в степени N монет - за N взвешиваний. А если число монет не равно 3 в степени N, то число взвешиваний равно ближайшей большей степени тройки. То есть, например, если монет 74 - то одну монету тоже можно определить за 4 взвешивания, как и среди 81 монеты. А вот если монет 82, то уже только за 5 взвешиваний - ближайшая большая степень двойки - 243 - 2 в степени 5.
#include <stdio.h>
#include <locale.h>
int str(int k){
setlocale(LC_ALL, "Rus");
printf("%i ворон", k);
if(k > 10 && k < 15) {printf(" ");}
else if((k%10) == 1){ printf("а"); }
else if((k%10) > 1 && (k%10) < 5){ printf("ы"); }
printf("\n");
}
int main() {
int a;
scanf("%d", &a);
str(a);
return 0;
}