#include <stdio.h>#include <stdlib.h>#include <string.h>int issueAndOut(int num1,int num2){ int i=2; while(i<num1*num2) { //if((i<=num1)&&(i<=num2)) //{ if((num1%i==0)&&(num2%i==0)) return 0; //} //if((i>=num1)&&(i>=num2)) //{ else if((i%num1==0)&&(i%num2==0)) return 0; //} i++; } return 1;}int main() { int N; int i,j; int *num; int *outArray; if(scanf("%d ", &N) == EOF) return 0; num=(int *)malloc(N*sizeof(int)); outArray=(int *)malloc(N*sizeof(int)); memset(outArray,0,N*sizeof(int)); for(i=0;i<N;i++) { scanf("%d",&num[i]); } for(i=0;i<N;i++) { for(j=2;j<(num[i]/2+1);j++) { if(num[i]%j==0) { if(1==issueAndOut(num[i]/j,j)) outArray[i]++; } } } for(i=0;i<N;i++) { printf("%d\n",outArray[i]/2+1); } free(num); free(outArray); return 0;}
点赞 1

相关推荐

脾气小祖宗:这简历摸到都得狠狠地消毒液洗手😂
点赞 评论 收藏
分享
10-22 19:44
门头沟学院 Java
面了100年面试不知...:那我得去剪个头
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务