- 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;
}
回头有必要再研究一下用递归咋整呢
- 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);
这样才成功了
但这是为啥呢??? /黑人问号脸
- 插播一个翁恺的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;
}
- 干脆再来一个约定俗成的起名法吧(自己强行理解的)
ret 结果
cnt (count) 计数
digit 一位上的数
isPrime 专用于判断是否为素数(1为是,0为不是)
gcd 最大公约数
product 乘积
cur (current) 当前的
pre (previous) 前一个
next 后一个
- NOJ 17# 五猴分桃
MMP贼简单,被表象迷惑了,不就就是个判断一轮轮除完结果是不是整数嘛!
- NOJ 29# “1”的传奇
真真搞死个人了。和胡大佬讨论个算法两个小时,程序调了两天还是一直PE,最后总算搞定啦,其实也不难吧 /笑哭
当然啦,这题肯定是永生难忘!