测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A63142. 编程实现:硬币

编程题

题目描述

编程实现:硬币

题目描述:有N(2≤N≤50)个硬币正面朝上排成一排,每次反转任意3个硬币(正面反转后为反面,反面反转后为正面),请问最少反转几次可以使N个硬币全部反转成反面。

 例如:

N=7,最少反转3次可以使7个硬币全部反转成反面。

第一次将第1、2、3的硬币反转为反面朝上;

第二次将第3个硬币反转为正面朝上,将第4、5的硬币为反面朝上;

第三次将第3、6、7的硬币反转为反面朝上。

输入描述:输入一个正整数N(2≤N≤50),表示硬币的个数

输出描述:输出一个整数如果可以将N个正面朝上硬币全部反转成反面,就输出反转的次数,否则输出-1

样例输入:7

样例输出:3

测试用例:

输入

6

18

34

40

45

50

输出

4

7

12

14

18

28