//题目19:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所有完数。

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h> //分析:首先必须求出该数所有的因子 //方法1(不推荐)
void maina(){
int arr[][] = {};
int arr2[] = { };
int index = ;
int index2 = ;
int temp = ;
int temp2 = ;
for (int j = ; j < ; j++)
{
temp = ;
temp2 = ;
index = ;
//计算出该数所有的因数
for (int i = ; i < j; i++)
{
if (j%i == )
{
arr[j][index] = i;
index++;
}
} if (arr[j][] != )
{
while (arr[j][temp] != ){
temp2 += arr[j][temp];
temp++;
}
if (temp2 == j)
{
arr2[index2] = j;
index2++;
}
}
}
for (int k = ; k < index2; k++)
{
printf("\n%d", arr2[k]);
}
system("pause");
} //方法2
void main(){
//int k[50] = { 0 };
int s=,n=;
for (int i = ; i < ; i++)
{
s = i;
n = ;
for (int j = ; j < i; j++)
{
if (i%j==)
{
//用这个数不断的减去因子
s = s - j;
}
}
//证明是完数
if (s==)
{
printf("\n完数是%d",i);
}
}
system("pause");
}

//题目20:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在
//第10次落地时,共经过多少米?第10次反弹多高? #define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h> //分析:1--100,2--50,3--25,4--12.5...,就是每次的高度是上次的1/2,即f(n)=0.5*f(n-1);
//这种由前面的值决定后面值的办法,可以使用递归
//第一次落地,经过100米,第二次经过f(1)+f(2)
//第十次落地就是前9次相加之和 double run(int n){
if (n==)
{
return 100.0;
}
else{
return 0.5*run(n - );
}
} void main(){
int n = ;
double sun = 0.0;
for (int i = ; i <; i++)
{
if (i==)
{
//第一次只有上没有下,所以经过的是100米
sun = 100.0;
}
else{
//第二次会先跳上去,再跳下来
sun += *run(i + );
} }
printf("第10次落地时,共经过%lf米,第10次反弹%lf米",sun,run()); system("pause");
}

//题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个
//第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下
//的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。 #define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h> //分析:该题也是前一天,后一天的问题,可以考虑使用递归
//第一天剩下的桃子为f(1);那么第二天剩下的桃子数目就是f(2)=f(1)*0.5-1,即f(1)=2*(f(2)+1);第三天f(2)=2*(f(3)+1);
//由此可知:f(9)=2*(f(10)+1); int run(int n){
if (n==)
{
return ;
}
else{
return * (run(n+) + );
}
} void main(){
printf("第一天共摘了%d桃子\n", run()); system("pause");
}

C语言 百炼成钢7的更多相关文章

  1. C语言 百炼成钢19

    /* 题目55: 有一个字符串符合以下特征(”abcdef,acccd,eeee,aaaa,e3eeeee,sssss,";),要求写一个函数(接口),输出以下结果 1) 以逗号分割字符串, ...

  2. C语言 百炼成钢3

    //题目7:用*号输出空心菱形图案 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> # ...

  3. C语言 百炼成钢2

    //题目4:输入某年某月某日,判断这一天是这一年的第几天? #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<st ...

  4. C语言 百炼成钢1

    //题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> ...

  5. C语言 百炼成钢18

    //题目52:用递归打印以下图形 //* //*.*. //*..*..*.. //*...*...*...*... //*....*....*....*....*.... #include<s ...

  6. C语言 百炼成钢17

    //题目49:老师将糖果分成若干份,让学生按任意次序领取,第一个领取的,得到1份加上剩余糖果的1/10, //第二个领取的,得到2份加上剩余糖果的1/10,第三个领取的,得到3份加上剩余糖果的1/10 ...

  7. C语言 百炼成钢16

    //题目46:海滩上有一堆桃子,五只猴子来分.第一只猴子把这堆桃子凭据分为五份,多了一个,这只 //猴子把多的一个扔入海中,拿走了一份.第二只猴子把剩下的桃子又平均分成五份,又多了 //一个,它同样把 ...

  8. C语言 百炼成钢15

    //题目43:有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出 //圈子,问最后留下的是原来第几号的那位. #include<stdio.h> #inclu ...

  9. C语言 百炼成钢14

    //题目40:输入3个数a,b,c,按大小顺序输出.(使用指针完成) #include<stdio.h> #include<stdlib.h> //分析:用指针完成,说明不可以 ...

  10. C语言 百炼成钢13

    //题目37:将一个数组逆序输出.用第一个与最后一个交换. #include<stdio.h> #include<stdlib.h> #include<math.h> ...

随机推荐

  1. Xcode找Library位置

  2. javascript 构造函数方式定义对象

    javascript是动态语言,可以在运行时给对象添加属性,也可以给对象删除(delete)属性 <html> <head> <script type="tex ...

  3. 在类库项目中使用log4net(RollingFileAppender)记录日志

    1.创建解决方案 2.创建类库项目 3.根据需要修改命名空间,修改(和/或)添加类到类库 4.引用log4net 5.类库项目根目录下创建leg4net配置文件,如D3CallTriggerPlugi ...

  4. 用java程序输出自己的姓名

    代码部分: public class Hello { public static void main(String[] args) { System.out.println("$$$$$$$ ...

  5. "ORA-12154: TNS:could not resolve the connect identifier specified"的解决办法

    添加环境变量解决: 变量名:TNS_ADMIN 变量值:D:\Ocl\product\11.2.0\dbhome_1\NETWORK\ADMIN tnsnames.ora所在的路径

  6. 算法(二)之遗传算法(SGA)

    算法(二)之遗传算法(SGA) 遗传算法(Genetic Algorithm)又叫基因进化算法或进化算法,是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,属于启发式搜索算法一种. 下面通过下 ...

  7. JDK自带工具一览表。妈妈再也不用担心你到处去下载小软件了~~

    原来JDK早早就给我准备好了要用到的工具..反编译,JVM性能监视.诊断. JDK(Java Development Kit)是Java程序员最核心的开发工具,没有之一. JDK是一个功能强大的Jav ...

  8. JS高级程序设计2nd部分知识要点1

    保存浮点数值需要的内存空间是保存整数值的两倍,因此ECMAScript会不失时机的将浮点数值转换为整数值 浮点数值的最高精度是17位小数 parseInt 字符串转换为数值,可传基数(8,16) pa ...

  9. 如何自定义Grunt任务

    任务(Tasks)是grunt的核心概念,你所做的很多工作比如资源合并(concat).压缩(uglify)都是在配置任务.每次grunt运行的时候,你指定的一个或多个任务也在运行,如果你没有指定任务 ...

  10. chrome45以后的版本安装lodop后,仍提示未安装解决

    请先查看你chrome浏览器的版本,如果是45版本以前的版本,安装后仍提示 "未安装" 或 "请升级" 请参照本链接解决:http://blog.sina.co ...