数字的秘密
Posted lazy-cat
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数字的秘密相关的知识,希望对你有一定的参考价值。
在数字王国中,人人都有一个号码,人人都想知道这个号码对自己意味着什么。国王便做了很多个盒子,每个盒子拥有一个号码。人们需要通过一定的方法才能确定哪个盒子有自己的秘密。这个办法就是把自己的数字N的全部因子相加求和。例如12,他因子之和就是1+2+3+4+6=16。现在他们邀请你帮助编写一个函数,寻找他们的密码盒子。
输入
输入数据的第一行是一个数字T(1 <= T <= 500000),它表明有T个需要进行测试的数字,然后是T个测试数据,每个测试数据为一个数字N(0 <= N <= 500000)。
输出
对于每个测试数据,请输出一个代表输入数据的密码编号。
样例输入
3 2 10 20
样例输出
1 8 22
#include<stdio.h> #define LEN 500000 int yz(int); int main(){ int i,n,num[LEN]; scanf("%d",&n); for(i=0;i<n;i++){ scanf("%d",&num[i]); } for(i=0;i<n;i++){ printf("%d ",yz(num[i])); } return 0; } int yz(int num){ int i,sum=0; if(num==0) sum=1; else if(num==1) sum=1; else{ for(i=1;i<num;i++){ if(num%i==0) sum+=i; } } return sum; }
以上是关于数字的秘密的主要内容,如果未能解决你的问题,请参考以下文章