1.打印100-1000以内的所有的水仙花数
#include "stdio.h"
int main(int argc, const char *argv[])
{
int i,ge,shi,bai;
for(i=100;i<1000;i++)
{
bai = i / 100;
shi = i % 100 / 10;
ge = i % 10;
if(i == bai*bai*bai + shi*shi*shi + ge*ge*ge)
printf("%d\n", i);
}
return 0;
}
2.在1万以内(不包含1万)查找整数,该整数它加上 100 后是一个完全平方数,再加上 168 又是一个完全平方数,请问该数是多少?
#include <stdio.h>
#include <math.h>
int main(int argc, const char *argv[])
{
int i,j,k;
for(i=0;i<10000;i++)
{
j = sqrt(i + 100);
k = sqrt(i + 268);
if(j*j==(i + 100) && k*k == (i + 268))
{
printf("%d\n", i);
}
}
return 0;
}
3.求1000以内所有的质数
#include "stdio.h"
#include "math.h"
int prime( int p );
int main(int argc, const char *argv[])
{
int i,num=0,j=0;
for(i=0;i<1000;i++)
{
if(prime(i))
{
num++;
j++;
printf("%d\t", i);
}
if(num%10==0)
{
num++;
printf("\n");
}
}
// printf("\n\n%d",j);
return 0;
}
/*******质素判断函数**********/
int prime( int p )
{
int i,j,num=p;
if(p==0 || p==1) return 0;
for(i=2;i<(int)sqrt(p)+1;i++)
{
for(j=2;j<(int)sqrt(p)+1;j++)
{
if(num%j==0)
return 0;
}
}
return 1;
}
4.猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个
第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下
的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
#include "stdio.h"
#include "math.h"
int main(int argc, const char *argv[])
{
int i,sum = 1;
for(i=1;i<10;i++)
{
sum = (sum + 1)*2;
printf("%d\t",sum);
}
printf("\n%d",sum);
return 0;
}