题目
1177.正方形
时间限制:1000MS内存限制:64000KB
题目描述
又到暑假啦,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
时间: 2024-09-30 11:16:23