C語言中的模運算-hdu6124(打表,找規律)
阿新 • • 發佈:2018-12-02
題目連結:https://vjudge.net/problem/HDU-6124
題目描述:
題目大意就是給你一個數,判斷這個數 % 其它數後共有幾種結果。
這題對我來說最大的難點是我不太知道每個數 餘 其他的數應該得出什麼結果,後來參考了別人的部落格,才弄清楚了。現在我就舉一些例子來說明一下:
對於任何數a,a%1=a%a=0;如果a是偶數,a%2=0;如果a是奇數,a%2=1;對於任何比a大的數biga來說,biga%a=a(這點是我開始時不怎麼確定的)
通過對幾組測試案例的分析發現,當a=1時,結果ans=1,當a為偶數時,ans=a/2+1,當a為奇數時,ans=a/2+2。
程式碼轉載自:https://blog.csdn.net/jianbagengmu/article/details/77199144
程式碼實現:
#include<iostream> #include<cstdio> using namespace std; int main() { int T;scanf("%d",&T); while(T--){ int a,ans; scanf("%d",&a); if(a==1) ans=2; else if(a%2==0) ans=a/2+1; else ans=a/2+2; printf("%d\n",ans); } return 0; }