练习1101
来源:互联网 发布:itc网络广播厂家电话 编辑:程序博客网 时间:2024/06/04 05:23
//查找介于n1与n2之间( 0<n1<n2<32768 )之间所有满足下列条件的整数
//1,该数的十进制表示中有且仅有相同的两个数
//2,该数为素数
//现判断条件1,然后在条件1的函数中判断条件2
#include <stdio.h>
void compare (int x , int y );//该函数判断是否有两个相同的数
void prime ( int m );//用于判断是否素数
int main()
{
int n1 = 0;
int n2 = 0;
printf(" please input n1 and n2 (0<n1<n2<32768) :\n");
scanf("%d%d",&n1,&n2);
printf("the result is :\n");
compare( n1 , n2);
return 0;
}
void compare ( int x , int y )
{
int temp = 0;
int count = 0;
int j;
int a[5];
int temp2 = 0;
int i = 0;
int k = 0;//k为从n1开始到n2间的值,temp用于保留k的值,count用于计数(若含有2位相同的数则加1)
for( k = x ; k <= y ; k++)
{
temp = k;
temp2 = k;
/*该循环用于将整型数放入数组中,方便各元素的比较*/
/*for ( i = 0 ; i < 5 ; i++)
{
k = k % 10;
a[i] = k;
k = temp / 10;
temp/=10;
if( temp < 10 )
{
a[++i] = k;printf("**");//此处死循环
break;
}
}*/
while ( temp != 0 )
{
a[i] = temp % 10;
temp/=10;
i++;
}
/*该循环用于将各元素进行比较,若有相同则count加1
,根据要求,当count=1时满足条件,将a进行素数判断*/
for(i-=1 ; i > 0 ; i-- )
{
for ( j = i - 1 ; j >= 0 ; j--)
{
if ( a[i] == a[j] )
{
count++;
}
}
}
if ( count == 1 )
{
prime(temp2);//将当前的整型数temp2进行素数判断,如果temp为素数,则输出
}
count = 0;
}
}
void prime( int m )
{
int c;//用于循环变量
for ( c = 2 ; c < m ; c++ )
{
if ( m %c == 0 )
{
break;
}
}
if( m == c )
{
printf("%d",m);//m即为所求
}
printf("\n");
}
//1,该数的十进制表示中有且仅有相同的两个数
//2,该数为素数
//现判断条件1,然后在条件1的函数中判断条件2
#include <stdio.h>
void compare (int x , int y );//该函数判断是否有两个相同的数
void prime ( int m );//用于判断是否素数
int main()
{
int n1 = 0;
int n2 = 0;
printf(" please input n1 and n2 (0<n1<n2<32768) :\n");
scanf("%d%d",&n1,&n2);
printf("the result is :\n");
compare( n1 , n2);
return 0;
}
void compare ( int x , int y )
{
int temp = 0;
int count = 0;
int j;
int a[5];
int temp2 = 0;
int i = 0;
int k = 0;//k为从n1开始到n2间的值,temp用于保留k的值,count用于计数(若含有2位相同的数则加1)
for( k = x ; k <= y ; k++)
{
temp = k;
temp2 = k;
/*该循环用于将整型数放入数组中,方便各元素的比较*/
/*for ( i = 0 ; i < 5 ; i++)
{
k = k % 10;
a[i] = k;
k = temp / 10;
temp/=10;
if( temp < 10 )
{
a[++i] = k;printf("**");//此处死循环
break;
}
}*/
while ( temp != 0 )
{
a[i] = temp % 10;
temp/=10;
i++;
}
/*该循环用于将各元素进行比较,若有相同则count加1
,根据要求,当count=1时满足条件,将a进行素数判断*/
for(i-=1 ; i > 0 ; i-- )
{
for ( j = i - 1 ; j >= 0 ; j--)
{
if ( a[i] == a[j] )
{
count++;
}
}
}
if ( count == 1 )
{
prime(temp2);//将当前的整型数temp2进行素数判断,如果temp为素数,则输出
}
count = 0;
}
}
void prime( int m )
{
int c;//用于循环变量
for ( c = 2 ; c < m ; c++ )
{
if ( m %c == 0 )
{
break;
}
}
if( m == c )
{
printf("%d",m);//m即为所求
}
printf("\n");
}
0 0
- 练习1101
- 练习
- “++”“--”练习
- 练习
- 练习
- 练习
- 练习
- 练习
- 练习
- 练习
- 练习
- 练习
- 练习
- 练习
- 练习
- 练习
- 练习
- 练习
- OPENNI学习实践-利用openni获取红外图像
- c++ list删除元素例子
- RPC 原理
- Linux学习--第九天--du、df、fsck、dumpe2fs、mount、NTFS-3G、fdisk、partprobe、/etc/fstab、free、mkswap、swapon
- 安卓简单适配-JAVA代码进行适配
- 练习1101
- Web前端从入门到放弃(jq选择器的归纳总结)
- Volley 笔记
- 杨明川:中国电信灯塔大数据应用实践
- 一文搞懂隐马尔可夫模型(HMM)
- 双线性插值GPU加速
- lua中#后加table的含义
- spring aop 注解 事务管理 以及各种参数分析
- Java几种加密