丝雨学姐小灶班——Week 4

  1. NOJ 27# 粒子裂变

不用递归即可解决;用中间变量暂时储存上一时刻的数据;各步骤之间的逻辑关系

#include <iostream>
using namespace std;

int main()
{
    int i,t,a=1,b=0,temp1,temp2;
    cin>>t;
    for (i=1;i<=t;i++) {
        temp1 = b;
        b = b * 2;
        temp2 = a * 3;
        a = temp1;
        b += temp2;
    }
    cout << a << " " << b <<endl;
    return 0;
}

回头有必要再研究一下用递归咋整呢

  1. NOJ 28# 分数拆分
if (1.0/k==1.0/x+1.0/y) printf("1/%d=1/%d+1/%d\n",k,x,y);

这样的写法不行诶,无法实现比较等号左右两边的大小

    double a,b;
        ……
            a=1.0/k;
            b=1.0/x+1.0/y;
            if (a==b) printf("1/%d=1/%d+1/%d\n",k,y,x);

这样才成功了
但这是为啥呢??? /黑人问号脸

  1. 插播一个翁恺的MOOC里的程序

生成一个100以内的随机正整数 (C)

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
    srand(time(0));
    int a = rand();
    printf("%d\n",a%100);
    return 0;
}
  1. 干脆再来一个约定俗成的起名法吧(自己强行理解的)

ret 结果
cnt (count) 计数
digit 一位上的数
isPrime 专用于判断是否为素数(1为是,0为不是)
gcd 最大公约数
product 乘积
cur (current) 当前的
pre (previous) 前一个
next 后一个

  1. NOJ 17# 五猴分桃

MMP贼简单,被表象迷惑了,不就就是个判断一轮轮除完结果是不是整数嘛!

  1. NOJ 29# “1”的传奇

真真搞死个人了。和胡大佬讨论个算法两个小时,程序调了两天还是一直PE,最后总算搞定啦,其实也不难吧 /笑哭
当然啦,这题肯定是永生难忘!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值