1087: 数字整除

  • Post author:
  • Post category:其他


[

Submit

][

Status

][

Web Board

]

Description

定理:把一个至少两位的正整数的个位数字去掉,再从余下的数中减去个位数的5倍。当且仅当差是17的倍数时,原数也是17的倍数 。

例如,34是17的倍数,因为3-20=-17是17的倍数;201不是17的倍数,因为20-5=15不是17的倍数。输入一个正整数n,你的任务是判断它是否是17的倍数。

Input

输入文件最多包含10组测试数据,每个数据占一行,仅包含一个正整数n(1<=n<=10100),表示待判断的正整数。n=0表示输入结束,你的程序不应当处理这一行。

Output

对于每组测试数据,输出一行,表示相应的n是否是17的倍数。1表示是,0表示否。

Sample Input


34

201

2098765413

17171717171717171717171717171717171717171717171717180

Sample Output


1

0

1

0


#include <iostream>

#include <string>

using


namespace


std;

int


main()

{




string str;



int


tmp, i = 0;



while


(cin >> str && str !=


"0"


)



{




//从头到尾扫一遍



i = 0;



tmp = 0;



while


(i < str.size())



{




tmp = (tmp * 10 + (str[i] -


'0'


)) % 17;



i ++;



}



if


(tmp % 17 == 0)



cout << 1 << endl;



else



cout << 0 << endl;



}



return


0;

}

/**************************************************************



Problem: 1087



User: 1006440533



Language: C++



Result: Accepted



Time:0 ms



Memory:1272 kb

****************************************************************/



版权声明:本文为woaifen3344原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。