假设每块原料的重量都十分精确地平均落在下方的两个金属块上,
最后,所有的金属块的重量都严格精确地平分落在最底层的电子秤上。
电子秤的计量单位很小,所以显示的数字很大。
工作人员发现,其中读数最小的电子秤的示数为:2086458231
请你推算出:读数最大的电子秤的示数为多少?
注意:需要提交的是一个整数,不要填写任何多余的内容。
个人分析:数字三角可加上大括号直接作为二维数组使用,这里把三角用文件重定向输入进二维数组中。数组中每一个元素的值加上其“肩上”两个元素一半的值即为重量。在最后一行的重量找到最大值与最小值,用最大值 *(最小读数 / 最小值)即可得答案。答案为:72665192664。
代码:
#include<stdio.h>
#include<iostream>
#include<string.h>
#include<math.h>
#include<limits.h>
using namespace std;
int main()
{
freopen("input.txt", "r", stdin);
// freopen("output.txt", "w", stdout);
double tri[30][30];
memset(tri, 0.0, sizeof(tri));
int n;
int i, j;
for(i = 0; i < 30; i++)
for(j = 0; j < 30; j++)
scanf("%lf", &tri[i][j]);
for(i = 1; i < 30; i++)
for(j = 0; j <= i; j++)
{
if(j == 0)
tri[i][j] += tri[i - 1][0] / 2.0 ;
else
tri[i][j] += tri[i - 1][j - 1] / 2.0 + tri[i - 1][j] / 2.0;
}
double min = 1.0 * INT_MAX, max = 0.0;
for(i = 0; i < 30; i++)
{
if(tri[29][i] < min)
min = tri[29][i];
if(tri[29][i] > max)
max = tri[29][i];
}
printf("%lf\n", max * (2086458231 / min));
return 0;
}4.标题:方格分割
6x6的方格,沿着格子的边线剪开成两部分。
要求这两部分的形状完全相同。
如图:p1.png, p2.png, p3.png 就是可行的分割法。
试计算:
包括这3种分法在内,一共有多少种不同的分割方法。
注意:旋转对称的属于同一种分割法。
请提交该整数,不要填写任何多余的内容或说明文字。
个人分析:
代码:
5.标题:取数位
求1个整数的第k位数字有很多种方法。
以下的方法就是一种。
对于题目中的测试数据,应该打印5。
请仔细分析源码,并补充划线部分所缺少的代码。
// 求x用10进制表示时的数位长度
int len(int x){
if(x<10) return 1;
return len(x/10)+1;
}
// 取x的第k位数字
int f(int x, int k){
if(len(x)-k==0) return x%10;
return _____________________; //填空
}
int main()
{
int x = 23574;
printf("%d\n", f(x,3));
return 0;
}
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-70253-5.html
佩服你的勇气~不过如果这样说~怕是看不到第二天的太阳了~
我5s升了9
靠发股发财
对于美国人对我岛礁建设提出的意见对我有利的将坚决采纳
好想去