程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> NYOJ 664 數字整除

NYOJ 664 數字整除

編輯:C++入門知識

數字整除

時間限制:1000 ms | 內存限制:65535 KB 難度:2
描述

定理:把一個至少兩位的正整數的個位數字去掉,再從余下的數中減去個位數的5倍。當且僅當差是17的倍數時,原數也是17的倍數 。

例如,34是17的倍數,因為3-20=-17是17的倍數;201不是17的倍數,因為20-5=15不是17的倍數。輸入一個正整數n,你的任務是判斷它是否是17的倍數。

輸入輸入文件最多包含10組測試數據,每個數據占一行,僅包含一個正整數n(1<=n<=10^100),表示待判斷的正整數。n=0表示輸入結束,你的程序不應當處理這一行。
輸出對於每組測試數據,輸出一行,表示相應的n是否是17的倍數。1表示是,0表示否。
樣例輸入
34
201
2098765413
17171717171717171717171717171717171717171717171717180
樣例輸出
1
0
1
0
模擬除法的過程!
AC碼:
#include
int main()
{
	int i,sum;
	char str[105];
	while(scanf("%s",str)&&str[0]!='0')
	{
		sum=0;
		for(i=0;str[i]!='\0';i++)
		{
			sum=sum*10+str[i]-'0';
			sum=sum%17;
		}
		printf("%s\n",sum?"0":"1");
	}
	return 0;
}


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved