水仙花数
打印100-1000以内的所有的水仙花数
水仙花数:是指一个三位数的每一位的立方和还等于这个数,则这个数称之为水仙花数
num = 个位数的立方 + 十位数的立方 + 百位数的立方
if(153== 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3)
{
153就是水仙花数
}
程序
#include <stdio.h>
int main(int argc, const char *argv[])
{
int i=100;
while(i<1000)
{
int g=i%10;
int s=(i%100)/10;
int b=i/100;
if(i==g*g*g+s*s*s+b*b*b)
printf("%d\n",i);
i++;
}
return 0;
}
结果
完全平方数
在1万以内(不包含1万)查找整数,该整数它加上 100 后是一个完全平方数,再加上 168 又是一个完全平方数,请问该数是多少?
完全平方数:完全平方指用一个整数乘以自己例如11,22,3*3等。所以1,4,9都是完全平方数。
10不是完全平方数,因为10号开根后不是整数
开根号 sqrt(); sqrt(2)—>对2开根号
使用使用sqrt函数,需要包含:#include <math.h> 编译的时候需要加上 -lm ,例如:gcc 1.c -lm
程序
#include <stdio.h>
#include <math.h>
int main(int argc, const char *argv[])
{
int sum = 0;
int m = 0;
int n = 0;
int i = 0;
int j = 0;
while(sum<100000){
m = 0;
n = 0;
m = sum + 100;
n = m + 168;
i = (int)sqrt(m)*sqrt(m);
j = (int)sqrt(n)*sqrt(n);
if(i == m){
if(j == n){
printf("%d ",sum);
}
}
sum++;
}
return 0;
}
结果
质数
求1000以内所有的质数
质数:只能够1和它本身整除
程序
#include <stdio.h>
int main(int argc, const char *argv[])
{
int i=2;
int j=0;
for (i=2;i<1000;i++)
{
for (j=2;j<i;j++)
{
if(i%j==0)
{break;}
}
if(i==j)
printf("%d ",i);
}
return 0;
}
结果
猴子吃桃
猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个
第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下
的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
程序
#include <stdio.h>
int main()
{
int num = 1;
int i;
int sum=0;
for (i = 1; i <= 9; i++)
{
num = (num + 1) * 2;
}
printf("第一天摘了:%d个桃子\n", num);
return 0;
}