//题目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. IOS 图片轮播实现原理 (三图)

    IOS 图片轮播实现原理的一种 图片轮播所要实现的是在一个显示区域内通过滑动来展示不同的图片. 当图片较少时我们可以采用在滚动视图上添加很多张图片来实现. 但是如果图片数量较多时,一次性加载过多图片会 ...

  2. UIButton 内部介绍

    **     设置内容距btn边框距离     **/    btn.contentEdgeInsets = UIEdgeInsetsMake(0, 0, 0, 0);        /** 将lab ...

  3. Pinyin Comparison 拼音辨别 V1.1.2

    App Store: Pinyin Comparison 拼音辨别 做了一新个图标,至少比上一个好多了.拼音应用的图标大多千篇一律,这回尝试做个不一样的. 简化了首页颜色,首页的黑色换成了金色,看着更 ...

  4. Mac terminal从bash切换到zsh

    0.预备知识 echo $SHELL命令可以查看当前正在使用什么shell 默认情况下(mbp 10.10.5)使用bash作为默认shell,然而也自带zsh,which zsh命令可以查看zsh的 ...

  5. Linux套接字编程

    网络中的进程是如何通信的? 在网络中进程之间进行通信的时候,那么每个通信的进程必须知道它要和哪个计算机上的哪个进程通信.否则通信无从谈起!在本地可以通过进程PID来唯一标识一个进程,但是在网络中这是行 ...

  6. 解决springmvc中文件下载功能中使用javax.servlet.ServletOutputStream out = response.getOutputStream();后运行出异常但结果正确的问题

    问题描述: 在springmvc中实现文件下载功能一般都会使用javax.servlet.ServletOutputStream out = response.getOutputStream();封装 ...

  7. eclipse常用快捷键及调试方法(虽然现在看不懂,但是感觉以后肯定会用到,先转了)

    常用快捷键 Eclipse最全快捷键,熟悉快捷键可以帮助开发事半功倍,节省更多的时间来用于做有意义的事情. Ctrl+1 快速修复(最经典的快捷键,就不用多说了) Ctrl+D: 删除当前行 Ctrl ...

  8. 问题解决——cout 输出 CString

    Unicode下 wcout<<strText.GetString()<<endl;

  9. CSS中vw和vh单位的使用

    vw——viewpoint width,视窗宽度,1vw等于视窗宽度的1%: vh——viewpoint height,视窗高度,1vh等于视窗高度的1%:例子:http://tutorialzine ...

  10. 根据SQL Server排序规则创建顺序GUID

    public static class GuidUtil { , , , , , , DateTimeKind.Utc).Ticks / 10000L; /// <summary> /// ...