定理:把一個至少兩位的正整數的個位數字去掉,再從餘下的數中減去個位數的5倍。當且僅當差是17的倍數時,原數也是17的倍數 。
例如,34是17的倍數,因爲3-20=-17是17的倍數;201不是17的倍數,因爲20-5=15不是17的倍數。輸入一個正整數n,你的任務是判斷它是否是17的倍數。
輸入
輸入文件最多包含10組測試數據,每個數據佔一行,僅包含一個正整數n(1<=n<=10100),表示待判斷的正整數。n=0表示輸入結束,你的程序不應當處理這一行。
輸出
對於每組測試數據,輸出一行,表示相應的n是否是17的倍數。1表示是,0表示否。
樣例輸入 |
樣例輸出 |
34 201 2098765413 1717171717171717171717171717171717171717171717171718 0 |
1 0 1 0 |
#include<iostream>
#include<cstdio>
using namespace std;
#define MAX(a,b) ((a)>(b) ? (a):(b))
#define MIN(a,b) ((a)<(b) ? (a):(b))
int main()
{
char a[110];
while(scanf("%s",a)!=EOF)
{
int i=0,t=0;
if(a[0]=='0') break;
while(a[i]!='\0')
{
t=(t*10+a[i++]-'0')%17;
}
if(t==0) printf("1\n");
else printf("0\n");
}
return 0;
}