九度1050 完数

2024-01-04 01:49
文章标签 1050 完数 九度

本文主要是介绍九度1050 完数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

/********************************* *    日期:2013-1-13*    作者:SJF0115 *    题号: 九度1050*    题目:完数*    来源:http://ac.jobdu.com/problem.php?pid=1050*    结果:AC *    题意: *    总结:
**********************************/ 
#include <stdio.h>
#include <string.h>int main(){int i,j,n,sum,k;int a[1000];//freopen("C:\\Users\\SJF\\Desktop\\acm.txt","r",stdin); while(scanf("%d",&n) != EOF){k = 0;for(i = 1;i <= n;i++){sum = 0;//求因子for(j = 1;j < i;j++){if(i % j == 0){sum += j;}}//相等就是完数if(sum == i){a[k++] = i;}}for(i = 0;i < k;i++){if(i != 0){printf(" ");}printf("%d",a[i]);}printf("\n");}return 0;
}

这篇关于九度1050 完数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/567787

相关文章

九度1077(最大序列和)

题目链接:点击打开链接 解题思路: 很经典的一道题。首先考虑一下细节问题,当序列都是0时,显然最后要输出0;当序列都是负数时,显然要输出最大的数。 细节处理完了,就可以回到正常轨道。我们开两个变量,分别保存当前的序列和与之前的最大值,我们更新当前序列和的条件是如果当前序列和是负数的时候,那我们必须更新,否则一定会使最后结果减小。更新过程中还要更新之前最大值即可。 完整代码:

POJ 1050 To the Max(枚举+动规)

题目: http://poj.org/problem?id=1050 题解: 此题转化成一维后就相当于求最大连续子序列了,可以枚举所有的行组合,把枚举到的起始行到终止行的值按列相加存入一个一维数组。 代码: #include<cstdio>#include<cstring>int a[101][101];int value[101];int dp[101];int max(

力扣SQL仅数据库(610-1050)

610. 判断三角形 需求:对每三个线段报告它们是否可以形成一个三角形。 数据准备: Create table If Not Exists Triangle (x int, y int, z int)Truncate table Triangleinsert into Triangle (x, y, z) values ('13', '15', '30')insert into Tri

九度考研真题 浙大 2011-3浙大1004:Median

题目1004:Median //#include<iostream> //long long a1[1000010],a2[1000010]; //using namespace std; //int main(){ // long long n1,n2; // long long num; // // long long t; // wh

九度考研真题 浙大 2011-2浙大1002:Grading

题目1002:Grading #include<iostream> #include<stdio.h> #include<math.h>  using namespace std; int main() { double P,T,G1,G2,G3,Gj; double num; while(cin>>P) { cin>>T>>G1>>G2>>G

九度考研真题 浙大 2011-1浙大1001:A+B for Matrices

//题目1001:A+B for Matrices #include<iostream> #include<string.h> using namespace std; int main() { int M,N; int a1[11][11],a2[11][11]; int a_s[11],b_s[11]; int num=0; while(cin

九度考研真题 浙大 2010-2浙大1006:ZOJ问题

//题目1006:ZOJ问题 #include<iostream> #include<string.h> using namespace std; int main() { char s[1010]; char a[1010];//开始部分 char b[1010]; //中间部分  char c[1010];//后部分  int num1=0,n

九度考研真题 浙大 2010-1浙大1003:A+B

//题目1003:A+B #include<iostream> #include<string.h> using namespace std; int main() { int n1,n2; int s1[12],s2[12]; int s[12]; char c1[20],c2[20]; while(cin>>c1){ n1=0,n2=0;

九度考研真题 浙大 2009-1浙大1031:xxx定律

//1031:xxx定律 #include<iostream> using namespace std; int main(){ int n; while(cin>>n&&n!=0){ int num=0; while(n!=1){ if(n%2==0){ n/=2; num++; } else{ n=3*n+1; n/

九度考研真题 浙大 2008-3浙大1028:继续畅通工程

//题目1028:继续畅通工程 #include<iostream> #include<algorithm> using namespace std; int Tree[1010]; int findRoot(int x){ if(Tree[x]==-1) return x; else { int tmp=findRoot(Tree[x]); Tree[