1 条题解
-
0
解题思路
- 初始化:
- 初始化计数器
cnt
为 1。 - 初始化两组数字
a1 = 1, b1 = 1
和a2 = 6, b2 = 8
。 - 输出初始的数字对
(a2, b2)
。
- 初始化计数器
- 循环计算和输出:
- 进入
while
循环,当cnt < 10
时执行循环体。 - 对于每一次循环:
- 计算新的数值
x1 = 2 * b1 + 1
,y1 = 2 * a1
,x2 = 2 * b2 + 1
,y2 = 2 * a2
。 - 计算
p = x1 * x2 + 2 * y1 * y2
和q = x2 * y1 + x1 * y2
。 - 计算新的数字对
na = q / 2
,nb = (p - 1) / 2
。 - 更新
a2 = na
,b2 = nb
。 - 输出新的数字对
(a2, b2)
。 - 计数器
cnt
自增 1。
- 计算新的数值
- 进入
#include<iostream> #include<cmath> #include<cstdio> using namespace std; int main(){ int cnt = 1; int a1 = 1,b1 = 1,a2 = 6, b2 = 8, na,nb; //printf ("%10d%10d\n", a1, b1); printf ("%10d%10d\n", a2, b2); while(cnt<10){ int x1 = 2*b1+1, y1 = 2*a1, x2 = 2*b2+1, y2 = 2*a2; int p = x1*x2+2*y1*y2, q = x2*y1+x1*y2; na = q/2, nb = (p-1)/2; a2 = na, b2 = nb; printf ("%10d%10d\n", a2, b2); cnt++; } }
- 初始化:
- 1
信息
- ID
- 321
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 4
- 已通过
- 1
- 上传者