#UVa:11879-Multiple of 17

灆洢 2012-10-17 17:11:09

雖然題目給了一個方法驗證,不過還是用類似模擬除法的方式來解決。從高位數一位一位加進來去除上17得其餘數,再看結果是否為0來得知是否可被17整除。

C++(0.008)

/*******************************************************/
/* UVa 11879 Multiple of 17                            */
/* Author: Maplewing [at] knightzone.studio            */
/* Version: 2012/10/17                                 */
/*******************************************************/
#include<iostream>
#include<cstdio>
using namespace std;

int main(){
  string num;
  int divide;
  while( getline( cin, num ) && num != "0" ){
    divide = 0;
    for( int i = 0 ; i < num.length() ; i++ ){
      divide = divide*10 + num[i] - '0';
      divide %= 17;
    }
    if( !divide ) printf("1\n");
    else printf( "0\n" ); 
  }
  return 0;
}

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料