HDU-2601-An easy problem
2017-07-29 21:24
232 查看
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2601
Problem Description
When Teddy was a child , he was always thinking about some simple math problems ,such as “What it’s 1 cup of water plus 1 pile of dough ..” , “100 yuan buy 100 pig” .etc..
One day Teddy met a old man in his dream , in that dream the man whose name was“RuLai” gave Teddy a problem :
Given an N , can you calculate how many ways to write N as i * j + i + j (0 < i <= j) ?
Teddy found the answer when N was less than 10…but if N get bigger , he found it was too difficult for him to solve.
Well , you clever ACMers ,could you help little Teddy to solve this problem and let him have a good dream ?
Input
The first line contain a T(T <= 2000) . followed by T lines ,each line contain an integer N (0<=N <= 1010).
Output
For each case, output the number of ways in one line.
Sample Input
2
1
3
Sample Output
0
1
将一个数 N 分解成 i * j + i + j 有多少种分解方式。n+1=(i+1)(j+1).
代码如下:
An easy problem
Problem DescriptionWhen Teddy was a child , he was always thinking about some simple math problems ,such as “What it’s 1 cup of water plus 1 pile of dough ..” , “100 yuan buy 100 pig” .etc..
One day Teddy met a old man in his dream , in that dream the man whose name was“RuLai” gave Teddy a problem :
Given an N , can you calculate how many ways to write N as i * j + i + j (0 < i <= j) ?
Teddy found the answer when N was less than 10…but if N get bigger , he found it was too difficult for him to solve.
Well , you clever ACMers ,could you help little Teddy to solve this problem and let him have a good dream ?
Input
The first line contain a T(T <= 2000) . followed by T lines ,each line contain an integer N (0<=N <= 1010).
Output
For each case, output the number of ways in one line.
Sample Input
2
1
3
Sample Output
0
1
将一个数 N 分解成 i * j + i + j 有多少种分解方式。n+1=(i+1)(j+1).
代码如下:
#include<iostream> #include<cmath> using namespace std; int main() { int T; cin>>T; while(T--){ long long int n; cin>>n; long long int m=sqrt(n+1); int js=0; for(int i=m;i>=2;i--) if((n+1)%i==0) js++; cout<<js<<endl; } return 0; }
相关文章推荐
- HDU 2601 An easy problem 因式分解
- HDU 2601 An easy problem
- HDU 2601 An easy problem
- HDU 2601 An easy problem(暴力枚举/质因子分解)
- hdu 2601 An easy problem
- HDU 2601:An easy problem【数学】
- hdu 2601 An easy problem
- hdu 2601 An easy problem
- HDU 2601 An easy problem
- hdu 2601(An easy problem)
- HDU 2601 An easy problem(数学)
- An easy problem hdu 2601
- hdu 2601 An easy problem
- HDU 2601 An easy problem(数学转换)
- hdu 2601 An easy problem
- hdu 2601 An easy problem
- HDU-2601-An easy problem【思维】
- HDU 2601 An easy problem
- hdu 2601 An easy problem
- hdu 2601 An easy problem