ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

东华大学2020考研计算机OJ题目解答分享——进阶篇(12)

2020-03-03 16:38:35  阅读:420  来源: 互联网

标签:比值 12 运算 一组 每组 测试数据 进阶篇 东华大学


12 奇妙的比值

作者: 孙辞海 时间限制: 10S章节: 循环

问题描述 :

明明喜欢钻研各种各样的数学问题。一天,明明对数的因子产生了兴趣,他想把一个数的所有因子都找出来,然后把它们相加再去除以这个数,这样会得到一个比值。明明想看看不同的数的该比值会有什么不同,以便做研究。

例如6这个数,它一共有4个因子,分别是:1、2、3、6,把他们相加然后再除以6,即1+2+3+6=12,12/6=2,就可以得到2这个比值。

明明为了研究,需要得到大量的比值,但是如果通过手动计算比值的话需要花大量的时间,于是明明就想请你帮忙,帮他写一个程序,能够求数的比值。 明明的问题可以归结为:给你一个数,求所有因子和,把这些因子相加,然后再除以这个数,求得比值。

输入说明 :

你写的程序要求从标准输入设备中读入测试数据作为你所写程序的输入数据。标准输入设备中有多组测试数据,每组测试数据仅占一行,每行仅包括一个正整数n(1≤n≤120),代表所求比值的那个数。每组测试数据与其后一组测试数据之间没有任何空行,第一组测试数据前面以及最后一组测试数据后面也都没有任何空行。

输出说明 :

对于每一组测试数据,你写的程序要求计算出一组相应的运算结果,并将这一组运算结果作为你所写程序的输出数据依次写入到标准输出设备中。每组运算结果为一个浮点数,就是所求的比值,保留2位小数。每组运算结果单独形成一行数据,其行首和行尾都没有任何空格,每组运算结果与其后一组运算结果之间没有任何空行,第一组运算结果前面以及最后一组运算结果后面也都没有任何空行。(注:最后求得的比值保留2位小数。) 注:通常,显示屏为标准输出设备。

输入范例 :

6
10

输出范例 :

2.00
1.80

解答思路:

类型转换

AC代码

#include <stdio.h>
#include <string.h>

int findsum(int n)
{
	int sum=0;
	for(int i=1;i<=n;i++)
	{
		if(n%i==0)
		{
			sum+=i;
		}

	}
	return sum;
}

int main()
{
	int n;
	while(~scanf("%d",&n))
	{
		double x= findsum(n);
		printf("%.2f\n",x/(double) n);
	}
}
wang1r 发布了44 篇原创文章 · 获赞 1 · 访问量 1320 私信 关注

标签:比值,12,运算,一组,每组,测试数据,进阶篇,东华大学
来源: https://blog.csdn.net/qq_38344326/article/details/104635285

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有