求一题编程题:输出100以内的素数,并且转换成二进制数,谢谢

如题所述

C++:
#include<iostream>
#include<cmath>
using namespace std;
bool isprime(int x)
{
int t,i;
t=(int)sqrt(x);
for(i=2;i<=t;i++)
if(x%i==0)
return false;
return true;
}
void fun(int x)
{
int a[10],i=0,j;
while(x)
{
a[i++]=x%2;
x/=2;
}
for(j=i-1;j>=0;j--)
cout<<a[j];
cout<<endl;
}
int main()
{
int i;
for(i=2;i<=100;i++)
if(isprime(i)) //判断是否是素数。
{
cout<<i<<": ";
fun(i); //转化为二进制的函数。
}
return 0;
}

C:
#include<stdio.h>
#include<math.h>
int isprime(int x)
{
int t,i;
t=(int)sqrt(x);
for(i=2;i<=t;i++)
if(x%i==0)
return 0;
return 1;
}
void fun(int x)
{
int a[10],i=0,j;
while(x)
{
a[i++]=x%2;
x/=2;
}
for(j=i-1;j>=0;j--)
printf("%d",a[j]);
printf("\n");
}
int main()
{
int i;
for(i=2;i<=100;i++)
if(isprime(i)) //判断是否是素数。
{
printf("%d: ",i);
fun(i); //转化为二进制的函数。
}
return 0;
}
温馨提示:答案为网友推荐,仅供参考