10月5日 正方形

这是一个关于算法和数学规律的问题,Conan和他的朋友们通过绘制一系列正方形来计算各自绘画的总长度,涉及循环和数学运算。

题目

题目描述
又到暑假啦,Conan, Ayumi, Mitsuhiko, Genta一起到Hakase家愉快玩耍(然而你却不行……)。
Ayumi, Mitsuhiko, Genta依次开始画正方形(显然Ai是不会参加这个活动的),一人一笔,画完一个,以上一个正方形四边中点为顶点接着画啊画啊画啊……最后一共画了k个正方形。最终他们想知道自己各画了多长。

【样例解释】
输入
输入一行包含两个整数N,K,分别表示第一个正方形的边长,正方形个数。
输出
输出一行,三个实数,分别表示Ayumi, Mitsuhiko, Genta画的长度,答案保留3位小数。
输入样例复制
100 2
输出样例复制
270.711 241.421 170.711
说明
【数据规模与约定】 对于100%的数据满足,。
 
分析
   规律题。。。
   每人在每个正方形内都会至少做一次
   然后多做的一次用规律
   第一个   1
   第二个   2
   。。。。
 
 
代码
 
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 double a[10];
 4 int main ()
 5 {
 6     int k,n;
 7     cin>>k>>n;
 8     double kk=k;
 9     int t=1;
10     for (int i=1;i<=n;i++)
11     {   
12         if (t%4==0)
13           t=1;
14         if (i==1)
15         {
16             a[1]+=kk;
17             a[2]+=kk;
18             a[3]+=kk;
19             a[t]+=kk;
20             kk/=2;
21             t++;
22             continue;
23         }
24         else
25         {
26             a[1]+=sqrt((kk*kk)+(kk*kk));
27             a[2]+=sqrt((kk*kk)+(kk*kk));
28             a[3]+=sqrt((kk*kk)+(kk*kk));
29             a[t]+=sqrt((kk*kk)+(kk*kk));
30         }
31         t++;
32         kk=sqrt((kk*kk)+(kk*kk))/2;
33     }
34       printf("%.3f %.3f %.3f",a[1],a[2],a[3]);
35 }

 

转载于:https://www.cnblogs.com/zjzjzj/p/9745149.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值