數字整除

定理:把一個至少兩位的正整數的個位數字去掉,再從餘下的數中減去個位數的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;
}


發佈了105 篇原創文章 · 獲贊 3 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章