nyoj 因子和 746

来源:互联网 发布:剑三脸型数据是视频 编辑:程序博客网 时间:2024/05/18 18:21

因子和

时间限制:1000 ms  |           内存限制:65535 KB
难度:1
描述

题目很简单明了,给你一个数n,判断它是不是素数,如果是素数就输出”Yes”,如果不是素数则输出“No”和它的因子和。例如5,输出“Yes”,6,输出“No  12”.(不包括引号)

输入
共有t组测试数据(1<=t<=100000)。
接下来有t行,每行有一个数n(1<n<=2000000).
输出
如果是素数,输出“Yes”,不是的话就输出“No”和它的因子和,中间用空格分开。
样例输入
5
91
92
4
23
75
样例输出
No 112
No 168
No 7
Yes
No 124
#include<stdio.h>#include<string.h>int sum;int getp(int x){for(int i=1;i*i<=x;i++){if(x%i==0){if(x/i!=i){sum+=i;sum+=x/i;}elsesum+=i;}}return sum;}int main(){int t,n,m,i,j;scanf("%d",&t);while(t--){scanf("%d",&n);sum=0;getp(n);if(sum==n+1)printf("Yes\n");elseprintf("No %d\n",sum);}return 0;}

0 0
原创粉丝点击