HDU 6124 Euler theorem(数论)
2017-09-28 10:24
447 查看
Description
给定一非负整数a,问a%b有多少种可能取值
Input
第一行一整数T表示用例组数,每组用例输入一整数a(1≤T≤5,1≤a≤109)
Output
输出a%b有多少种取值
Sample Input
2
1
3
Sample Output
2
3
Solution
一.b>a时,a%b=a
二.1≤b≤a时,假设a%b=c
1.若0≤c<⌊a+12⌋,取b=a−c>c即可
2.若⌊a+12⌋≤c<a,设a=kb+c,则k≥1,而a=kb+c>(k+1)c≥2c≥a
故ans=⌊a+12⌋+1
Code
给定一非负整数a,问a%b有多少种可能取值
Input
第一行一整数T表示用例组数,每组用例输入一整数a(1≤T≤5,1≤a≤109)
Output
输出a%b有多少种取值
Sample Input
2
1
3
Sample Output
2
3
Solution
一.b>a时,a%b=a
二.1≤b≤a时,假设a%b=c
1.若0≤c<⌊a+12⌋,取b=a−c>c即可
2.若⌊a+12⌋≤c<a,设a=kb+c,则k≥1,而a=kb+c>(k+1)c≥2c≥a
故ans=⌊a+12⌋+1
Code
#include<cstdio> using namespace std; int T,n; int main() { scanf("%d",&T); while(T--) { scanf("%d",&n); printf("%d\n",(n+1)/2+1); } return 0; }
相关文章推荐
- 2017杭电多校第七场1005 Euler theorem(勉强数论)HDU 6124
- HDU 6124-Euler theorem
- hdu 6124 Euler theorem
- HDU 6124 Euler theorem(水+思维)
- HDU 6124 Euler theorem
- hdu 6124 Euler theorem
- HDU 6124 Euler theorem
- HDU 6124 Euler theorem(思维)
- HDU 6124-Euler theorem
- HDU 6124 Euler theorem【】
- Euler theorem(HDU 6124)
- HDU 6124 17多校7 Euler theorem(简单思维题)
- HDU 6124 Euler theorem (2017 Multi-Univ Training Contest 7)
- hdu 6124 Euler theorem(水题)
- hdu 6124.Euler theorem
- HDU 6124 Euler theorem
- hdu 6124 Euler theorem (多校联赛)
- 17暑假多校联赛7.5 HDU 6124 Euler theorem
- hdu-6124-Euler theorem(多校训练)
- HDU 2136 Largest prime factor(数论)