c练习5

来源:互联网 发布:windows xp 靶机 编辑:程序博客网 时间:2024/04/29 05:43

1、判断101-200之间有多少个素数,并输出所有素数。
程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。  

 

#include <stdio.h>
#include 
<math.h>
int main(void)
{
    
int m,i,k;
    
int h=0;
    
int leap=1;
    
for(m=101;m<=200;m++)
    
{
        k
=(int)sqrt(m)+1;
        
for(i=2;i<=k;i++)
        
{
            
if(m%i==0)
            
{
                leap
=0;
                
break;
            }

        }

        
if(leap)
        
{
            printf(
"%-4d",m);
            h
++;
            
if(h%10==0)
                printf(
" ");
        }

        leap
=1;
    }

    printf(
" The total is %d",h);
}

2、打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

 

#include <stdio.h>
#include 
<math.h>
int main(void)
{
    
int i;
    
int m,n,t;
    
for(i=100;i<1000;i++)
    
{
        m
=i/100;
        n
=(i/10)%10;
        t
=i%10;
        
if(m*m*m+n*n*n+t*t*t==m*100+n*10+t)
            printf(
"%-6d",i);
    }

}
原创粉丝点击