首页 > 其他 > 详细

(HDU)1046 -- 完数

时间:2016-12-06 22:52:31      阅读:219      评论:0      收藏:0      [点我收藏+]

题目链接:https://vjudge.net/problem/HDU-1406

注意是所有的因子之和,重复出现的因子不要累加(如果模拟了除法的话),另外给出的两个整数要比较大小(坑)。

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <cmath>
 4 #include <iostream>
 5 #include <algorithm>
 6 #include <string>
 7 #include <cstdlib>
 8 
 9 using namespace std;
10 
11 int f(int n)
12 {
13     int sum=0,i;
14     for(i=1;i<=n/2;i++)
15         if(n%i==0)
16             sum+=i;
17     if(sum==n) return 1;
18     else return 0;
19 }
20 
21 int main()
22 {
23     int t,a,b,i,cnt;
24     scanf("%d",&t);
25     while(t--)
26     {
27         cnt=0;
28         scanf("%d %d",&a,&b);
29         if(a>b) {i=a;a=b;b=i;}
30         for(i=a;i<=b;i++)
31             if(f(i)) cnt++;
32         printf("%d\n",cnt);
33     }
34     return 0;
35 }

 

(HDU)1046 -- 完数

原文:http://www.cnblogs.com/ACDoge/p/6139374.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!