uva11040

来源:互联网 发布:人机界面简单编程实例 编辑:程序博客网 时间:2024/05/01 18:58

这是道数学题, 并不难

例如:

3 ? 3 ? 5 ? 2
b c ? ? ? ? ? ?
2 a 1 ? 2 ? 1 ? 1 ?

怎么确定a?  有个等式3=b+c , b = 2 + a , c = 1 + a 由此得到 3 = 2 + 1 + 2 *a ,可解得 a。

同理 可得 其他未知项


#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;

int main(){
    int t;
    int a[10][10];
    while(scanf("%d",&t) != EOF){
        while(t--){
            memset(a,0,sizeof(a));
            for(int i = 1; i <= 9; i += 2){
                for(int j = 1; j <= i; j += 2){
                    scanf("%d",&a[i][j]);
                }
            }
            for(int i = 1; i <= 7; i += 2){
                for(int j = 1; j <= i; j += 2){
                     a[i+2][j+1] = (a[i][j] - a[i+2][j] - a[i+2][j+2])/2;
                }
            }
            for(int i = 2; i <= 8; i += 2){
                for(int j = 1; j <= i; j ++){
                    a[i][j] = a[i+1][j] + a[i+1][j+1];
                }
            }
            for(int i = 1; i <= 9; i ++){
                for(int j = 1; j <= i; j ++){
                    printf("%d", a[i][j]);
                    if(j != i) printf(" ");
                    else    printf("\n");
                }
            }
        }
    }
    return 0;
}

0 0
原创粉丝点击