PTA 7-5 兔子繁衍问题 (15分)

#include<stdio.h>
int main()
{
    int x,i;
    int a=2, b=0, c=0;
    scanf("%d", &x);
    if (x > 1)
    {
        for (i = 1; c < x; i++)
        {
            c = a + b;
            b = a;
            a = c;
        }
        printf("%d", i+1);
    }
    else
        printf("1");
    return 0;
}

原文地址:https://blog.51cto.com/14737345/2479855

时间: 2024-11-08 22:15:45

PTA 7-5 兔子繁衍问题 (15分)的相关文章

循环-05. 兔子繁衍问题(15)

1 #include<iostream> 2 using namespace std; 3 int sum(int n){ 4 if(n==1||n==2) 5 return 1; 6 else 7 return sum(n-1)+sum(n-2); 8 } 9 int main(){ 10 int i,p; 11 cin>>p; 12 for(i=1;sum(i)<p;) 13 ++i; 14 cout<<i<<endl; 15 return 0;

PTA 7-4 猴子吃桃问题 (15分)

#include<stdio.h> int main() { int a,b = 1; scanf("%d", &a); while (--a) { b = (b + 1) * 2; } printf("%d", b); return 0; } 原文地址:https://blog.51cto.com/14737345/2479852

pta 数据结构 习题2.4 递增的整数序列链表的插入(15 分)

习题2.4 递增的整数序列链表的插入(15 分) 本题要求实现一个函数,在递增的整数序列链表(带头结点)中插入一个新整数,并保持该序列的有序性. 函数接口定义: List Insert( List L, ElementType X ); 其中List结构定义如下: typedef struct Node *PtrToNode; struct Node { ElementType Data; /* 存储结点数据 */ PtrToNode Next; /* 指向下一个结点的指针 */ }; type

PTA L1-033 出生年 (15 分) C

L1-033 出生年 (15 分) 以上是新浪微博中一奇葩贴:"我出生于1988年,直到25岁才遇到4个数字都不相同的年份."也就是说,直到2013年才达到"4个数字都不相同"的要求.本题请你根据要求,自动填充"我出生于y年,直到x岁才遇到n个数字都不相同的年份"这句话. 输入格式: 输入在一行中给出出生年份y和目标年份中不同数字的个数n,其中y在[1, 3000]之间,n可以是2.或3.或4.注意不足4位的年份要在前面补零,例如公元1年被认为是

循环-05. 兔子繁衍问题

1 /* 2 * Main.c 3 * C5-循环-05. 兔子繁衍问题 4 * 采用斐波那契数列算法 5 * Created on: 2014年7月25日 6 * Author: Boomkeeper 7 *******测试通过********** 8 */ 9 10 #include <stdio.h> 11 12 int cal(int m){ 13 if(m<=2) 14 return 1; 15 else 16 return (cal(m-1)+cal(m-2)); 17 }

PAT-JAVA-5-2 然后是几点 (15分)

5-2 然后是几点   (15分) 有时候人们用四位数字表示一个时间,比如1106表示11点零6分.现在,你的程序要根据起始时间和流逝的时间计算出终止时间. 读入两个数字,第一个数字以这样的四位数字表示当前时间,第二个数字表示分钟数,计算当前时间经过那么多分钟后是几点,结果也表示为四位数字.当小时为个位数时,没有前导的零,即5点30分表示为530.注意,第二个数字表示的分钟数可能超过60,也可能是负数. 输入格式: 输入在一行中给出2个整数,分别是四位数字表示的起始时间.以及流逝的分钟数,其间以

1001 害死人不偿命的(3n+1)猜想 (15)(15 分)

1001 害死人不偿命的(3n+1)猜想 (15)(15 分) 卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把(3n+1)砍掉一半.这样一直反复砍下去,最后一定在某一步得到n=1.卡拉兹在1950年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证(3n+1),以至于有人说这是一个阴谋,卡拉兹是在蓄意延缓美国数学界教学与科研的进展-- 我们今天的题目不是证明卡

1006 换个格式输出整数 (15)(15 分)

1006 换个格式输出整数 (15)(15 分) 让我们用字母B来表示"百".字母S表示"十",用"12...n"来表示个位数字n(&lt10),换个格式来输出任一个不超过3位的正整数.例如234应该被输出为BBSSS1234,因为它有2个"百".3个"十".以及个位的4. 输入格式:每个测试输入包含1个测试用例,给出正整数n(&lt1000). 输出格式:每个测试用例的输出占一行,用规定的

习题2.5 两个有序链表序列的合并(15 分)&lt;有疑问?L1 L2 没办法变空&gt;

习题2.5 两个有序链表序列的合并(15 分) 本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列. 函数接口定义: List Merge( List L1, List L2 ); 其中List结构定义如下: typedef struct Node *PtrToNode; struct Node { ElementType Data; /* 存储结点数据 */ PtrToNode Next; /* 指向下一个结点的指针 */ }; typedef PtrToNode L