大數整除(大數mod)
Description
定理:把一個至少兩位的正整數的個位數字去掉,再從餘下的數中減去個位數的5倍。當且僅當差是17的倍數時,原數也是17的倍數 。
例如,34是17的倍數,因為3-20=-17是17的倍數;201不是17的倍數,因為20-5=15不是17的倍數。輸入一個正整數n,你的任務是判斷它是否是17的倍數。
Input
輸入檔案最多包含10組測試資料,每個資料佔一行,僅包含一個正整數n(1<=n<=10^100),表示待判斷的正整數。n=0表示輸入結束,你的程式不應當處理這一行。Output
對於每組測試資料,輸出一行,表示相應的n是否是17的倍數。1表示是,0表示否。Sample Input
34
201
2098765413
17171717171717171717171717171717171717171717171717180
Sample Output
1
0
1
0
Hint
無
大數整除,讓算是否能夠整除17,其實不用減去個位數的5倍,直接判斷即可! 小白本有方法! 第一次遇見,寫一下。
#include<stdio.h> #include<string.h> #include<iostream> #include<algorithm> #include<math.h> using namespace std; int main() { char s[120]; int a[120], i, con, ans; while(scanf("%s",s) && s[0] != '0') { con = strlen(s); for(i = 0; i < con; i++) a[i] = s[i] - '0'; ans = 0; for(i = 0; i < con; i++) ans = (ans * 10 + a[i]) % 17; if(ans) printf("0\n"); else printf("1\n"); } return 0; }
相關推薦
大數整除(大數mod)
Description 定理:把一個至少兩位的正整數的個位數字去掉,再從餘下的數中減去個位數的5倍。當且僅當差是17的倍數時,原數也是17的倍數 。 例如,34是17的倍數,因為3-20=-17
BZOJ-1012-[JSOI2008]最大數maxnumber(線段樹)
open can i++ max print fine 每一個 input esc Description 現在請求你維護一個數列,要求提供以下兩種操作:1、 查詢操作。語法:Q L 功能:查詢當前數列中末尾L個數中的最大的數,並輸出這個數的值。限制:L不超過當前數列
2016【極限班培訓】大數據(尚學堂)
mage TE QQ targe 視頻教程 http image 技術 gallery ======================================================= 長期更新IT編程視頻教程,資料收集整理不易,需要一點費用 有意
BZOJ 3110 [Zjoi2013]K大數查詢(整體二分)
題解 gre void 有關 pre \n str k大數查詢 如果 3110: [Zjoi2013]K大數查詢 Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 11654 Solved: 3505[Submit][Sta
C++實現string類型的大數相加(帶小數)
字符 urn sin 個數 dem 做了 優化 count 變量 近日,做了一道阿裏給的大數相加的編程題。題目大意如下: 輸入兩個string類型的數,如12.223 11,判斷輸入字符串是否合法。合法則輸出true以及相加結果(true 23.223),非法則輸出fal
【模板】大數乘法(51nod 1027)
() sca strlen ret span har gif long long inline 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 #
大數加法(包括負數)
大數加法 多謝部落格大大的指點 :https://blog.csdn.net/u012773338/article/details/41789401 大數加法,其實就是每個數的加法,C++的程式碼好長啊,不過仔細看還是有規律的,上程式碼 #include<iostream> #in
【BZOJ3110】[ZJOI2013]K大數查詢(整體二分)
題目: BZOJ3110 分析: 整體二分模板題…… 先明確一下題意:每個位置可以存放多個數,第一種操作是“加入 (insert) ”一個數而不是“加上 (add) ”一個數。 首先考慮只有一次詢問的情況。設詢問的名次為\(k\),我們二分出一個答案\(mid\),然後遍歷所有修改。建立一棵區間線段
大數模板(正整數)
1 #include <bits/stdc++.h> 2 using namespace std; 3 4 #define MAXN 9999 5 #define MAXSIZE 500 //最大長度 6 #define DLEN 4 7
HDU 1753 大明A+B(大數相加)(string::npos)
話說,經過了漫長的一個多月,小明已經成長了許多,所以他改了一個名字叫“大明”。 這時他已經不是那個只會做100以內加法的那個“小明”了,現在他甚至會任意長度的正小數的加法。 現在,給你兩個正的小數A和B,你的任務是代表大明計算出A+B的值。 Inpu
RSA與大數運算(C語言)
========================================================================== 前言:此文來自於www.pediy.com一位Cracker---afanty之手。他建立了一個VC++(MFC)版的大
大數計算(進階) 支援大浮點數的任意精度加減乘除
上一篇實現了大數加法,乘除法都是簡單的複用加法,這樣做時間複雜度高,精度低。進階:1.乘法模擬豎式計算方法 核心思路是num1[i]*num2[j]的結果一定對應乘積中的[i+j]位,並且考慮對[i+j+1]位的進位。 這樣的時間複雜度為O(m*n) 而簡單的複用加法的
倆個大數相乘(java實現)
package com.example; /** * * @author ZHANGHAOHAO089 * @date 2017/6/27 */ public class BigNumber
HDU 1002 大數加法(C語言)
A + B Problem II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 340946 Acce
HDU 1047(大數相加)(陣列模擬)
這個題目啊,其實紮實的做的話應該並不難,然而我想看是統一用字串,還是再轉化成陣列,然後看了別人的題解,傻冒一樣的像別人一樣謝了getchar();真是傻冒了,我用的scanf("%s",str),
斐波那契的整除(思維 & 數論)
題目連結 Time Limit:1000ms Memory Limit:65536K Description 已知斐波那契數列有如下遞迴定義,f(1)=1,f(2)=1, 且n>=3,f(n)=f(n-1)+f(n-2),它的前幾項可以表示為1, 1,2
看一個大數能不能被11整除(方法)
夫妻數學協會(ACM)是一個非營利組織,致力於幫助單身人士找到他/她的另一半。11月11日是“單日”,在這一天,ACM邀請了一大批單身派對。人們聚在一起,與他人聊天,以及與之相匹配的合作伙伴。派對上有N位紳士和女士,每位先生只能和一位女士搭配,反之亦然。為了記住光棍節,ACM
《大數據日知錄:架構與算法》讀書筆記(多圖)
打通 導論 ges wid 技術分享 二次 思維 知識點 很好 第二次讀這本書,這次是精讀,畫了思維導圖。書很好,完整的知識結構和由淺入深的介紹,非常全面以至於知識點都梳理了三天。 作為導論式的總覽,對大數據領域有了個總體的認識,接下來可以更針對性地加強和實踐。 總體上
每天4億行SQLite訂單大數據測試(源碼)
nal nbsp 數據源 研究 沒有 pan 6.5 rsh 提升性能 SQLite單表4億訂單,大數據測試 SQLite作為嵌入式數據庫的翹楚,廣受歡迎!新生命團隊自2010年以來,投入大量精力對SQLite進行學習研究,成功應用於各系統非致命數據場合。 SQLi
Javascript中的七大數據類型(data types)
lean new 沖突 控制 字符串 data color class 屬性 JavaScript中的七大數據類型 1、undefined 未定義 1 undefined 2、null 空 1 null 3、boolean 布爾型 1 true; 2