首页 > 代码库 > (HDU)1046 -- 完数
(HDU)1046 -- 完数
题目链接: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 -- 完数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。