查找介于n1与n2(0<n1<n2<32768)之间所有满足下列条件的整数: (1)该数的十进制表示中有且仅有两个相同的数字位; (2)该数是素数

来源:互联网 发布:淘宝美工基础 编辑:程序博客网 时间:2024/06/09 03:42
#include<stdio.h>void main(){long int n1,n2,t1,t2,i,m;int j,t,k,c=0,co=0,f1=0,f2=0,s=0;int a[20];printf("请输入数的范围(0,32768):\n");scanf("%ld%ld",&n1,&n2);for(i=n1,t1=n1;i<=n2;i++){f1=f2=c=co=0;t2=i;for(j=0;j<i;j++){a[j]=t2%10;t2=t2/10;c++;if(t2==0)break;}for(j=0;j<c;j++){m=a[j];for(t=j+1;t<c;t++){if(m==a[t]){co++;}}if(co==1){f1=1;}else f1=0;}for(j=2;j<i;j++){t1=i;if((t1%j)!=0){f2=1;}else if((t1%j)==0){f2=0;break;}}if((f1==1)&&(f2==1)){printf("%ld\t",i);s++;}}if(s==0){printf("没有符合条件的数\n");}}

答案:




0 0
原创粉丝点击