1104 求因子和

题目来源:
https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=1104
Description
?输入正整数n(2<=n<=1000),计算并输出n的所有正因子(包括1,不包括自身)之和。要求程序定义一个FacSum ()函数和一个main()函数,FacSum ()函数计算并返回n的所有正因子之和,其余功能在main()函数中实现。?
int FacSum(int n)?
{?
//计算n的所有正因子(包括1,不包括自身)之和sum,本函数返回sum?
}?
Input
输入正整数n(2<=n<=1000)。
Output
?输出n的所有正因子(不包括自身)之和。
Sample Input
1000
Sample Output
1340
题意描述:
输入正整数n(2<=n<=1000)
用一个自定义函数计算并返回n的正因子之和在main函数中输出
解题思路:
Facsun函数中,枚举1到n(但不等于n),能整除,则sum加上该因子

程序代码:

 1 #include<stdio.h>
 2 int Facsum(int n);
 3 int main()
 4 {
 5     int n;
 6     while(scanf("%d",&n) != EOF)
 7     {
 8         printf("%d\n",Facsum(n));
 9     }
10     return 0;
11  }
12 int Facsum(int n)
13 {
14     int i,sum;
15
16     if(n==1)
17     return 1;
18     else
19     for(sum=0,i=1;i<n;i++){
20         if(n % i==0)
21             sum += i;
22
23     }
24     return sum;
25 }
时间: 2024-10-10 07:10:43

1104 求因子和的相关文章

hdu1215七夕节 筛选法求公因子和

hdu1215七夕节 数据量比较大,筛选法求公因子和即可. #include <iostream> #include<cstdio> #include<string.h> #define maxn 500005 using namespace std; int ans[maxn]; int main() { int cas; int n; cin >> cas; memset(ans,0,sizeof(ans)); for(int i = 1;i <

CDOJ 1104 求两个数列的子列的交集 查询区间小于A的数有多少个 主席树

求两个数列的子列的交集 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/1104 Description 给两个数列A, B,长度分别为n1, n2,保证A中每个元素互不相同,保证B中每个元素互不相同..进行Q次询问,每次查找A[l1...r1]和B[l2..r2]的交集 集合 大小是多少.. 比如 A = {1,2,3,4,5,6,7},B = {7,6,5,4,3,2,1}

C语言-求因子和

求因子和 题目描述: 一个数的因子和不包括它本身的所有因子之和,如12的因子有1.2.3.4.6所以12的因子和是16.现在给定一个数n(n<=10^9),求它的因子和. 输入格式: 一个数. 输出格式: 一个数. 样例输入: 12 样例输出: 16 提示: 60%的数据,n<=10,000; 80%的数据,n<=1,000,000; 100%的数据,n<=1,000,000,000; 这题第一次写的时候,一般人都会想到直接枚举,即直接从1一直枚举到该数除本身的最大因子.于是有了下

zzuli1783: 简单的求和---求因子和

1783: 简单的求和 Description 定义f(i)代表i的所有因子和(包括1和i),给定一个l,r.求f(l)+f(l+1)+...+f(r). Input 第一行输入一个t(t<1000),代表有t组测试数据,接下来每行输入两个数字l,r,(1<=l<=r<=1000000). Output 每行输出一个整数,代表和. Sample Input 2 1 2 3 4 Sample Output 4 11 #include <iostream> #include

1104: 求因子和(函数专题)

题目描述 输入正整数n(2<=n<=1000),计算并输出n的所有正因子(包括1,不包括自身)之和.要求程序定义一个FacSum ()函数和一个main()函数,FacSum ()函数计算并返回n的所有正因子之和,其余功能在main()函数中实现. int FacSum(int n) { //计算n的所有正因子(包括1,不包括自身)之和sum,本函数返回sum } 输入 输入正整数n(2<=n<=1000). 输出 输出n的所有正因子(不包括自身)之和. 样例输入 1000 样例输

求因子个数和因子和

//求因子个数 int Facnt(int n) { int res = 1; for(int i=2;i*i<=n;i++) { if(n%i == 0) { int cnt = 0; do { n /= i; cnt++; }while(n%i==0); res *= (cnt+1); } } if(n > 1) res = 2*res; return res; } //求因子和 int Facsum(int n) { int res = 1; for(int i=2;i*i<=n;

nylg 小M的因子和

小M的因子和 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 小M在上课时有些得意忘形,老师想出道题目难住他.小M听说是求因子和,还是非常得意,但是看完题目是求A的B次方的因子和,有些手足无措了,你能解决这个问题吗? 输入 有多组测试样例每行两个数 A ,B ,(1≤A,B≤10^9)  输出 输出A的B次方的因子和,并对9901取余. 样例输入 2 3 样例输出 15 上传者 Sumdiv Time Limit: 1000MS   Memory Limit: 30

NYOJ 928 小M的因子和(数论)

小M的因子和 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 小M在上课时有些得意忘形,老师想出道题目难住他.小M听说是求因子和,还是非常得意,但是看完题目是求A的B次方的因子和,有些手足无措了,你能解决这个问题吗? 输入 有多组测试样例 每行两个数 A ,B ,(1≤A,B≤10^9)  输出 输出A的B次方的因子和,并对9901取余. 样例输入 2 3 样例输出 15 分析:对A进行质因数分解,假设A = (p1^a1) * (p2^a2)*--*(pk^ak)

1104: 零起点学算法11——求梯形面积

1104: 零起点学算法11--求梯形面积 Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted: 6473  Accepted: 1875[Submit][Status][Web Board] Description 水题 Input 输入3个浮点数,分别表示上底.下底和高,中间用逗号隔开(题目包含多组数据) Output 输出梯形的面积,保留2位小数 Sample Input 2,4,5 Sample