Exam2002A

1.某人有 8 角的邮票 5 张,1 元的邮票 4 张,1 元 8 角的邮票 6 张,用这些邮票中的一张或若干张可以得到多少种不同的邮资?

C++

#include <iostream>
#include <set>
using namespace std;

int main()
{
	set<int> s;		//此题避免使用 double ,可能会因为精确度的问题造成相同的数不一致 
	int t;
	for(int i=0;i<=5;i++)
	{
		for(int j=0;j<=4;j++)
		{
			for(int k=0;k<=6;k++)
			{
				if(!(i==j && j==k && k==0))		//注意没有三种都为 0 的情况 
				{
					t=8*i+10*j+18*k;
					s.insert(t);
				}
			}
		}
	}
	cout<<"组合数为:"<<s.size()<<endl;
	return 0;
}

Go

package exam2002a

import "fmt"

//Set is used to grouping the stamp
func Set() {
	var a = [190]int{0}
	count := 0
	for i := 0; i <= 5; i++ {
		for j := 0; j <= 4; j++ {
			for k := 0; k <= 6; k++ {
				t := 8*i + 10*j + 18*k
				a[t] = 1

			}
		}
	}
	for i := 1; i < 190; i++ {
		if a[i] == 1 {
			count++
		}
	}
	fmt.Printf("组合数为:%d\n", count)
}

2.输入 n 值, 使用递归函数,求杨辉三角形中各个位置上的值,按照如下形式打印输出图形。例如:当 n = 6 时,

                          1

                      1        1

                 1         2       1

            1         3        3       1

        1        4         6        4      1

    1       5         10        10       5      1

C++

#include <iostream>
using namespace std;

int number(int i,int j)
{
	if(j==1||i==j)
	{
		return 1;
	}	
	else
	{
		return number(i-1,j)+number(i-1,j-1);
	}
} 

int main()
{
	 int h,t;
	 cin>>h;
	 for(int i=1;i<=h;i++)
	 {
	 	for(int j=1;j<=h-i;j++)
	 	{
	 		cout<<" ";				//输出数字前的空格 
		}
		for(int k=1;k<=i;k++)
		{
			t=number(i,k);
			cout<<t<<" ";		//数字间的空格以此输出 
		}
		cout<<endl;
	 }
	 return 0;
}

Go

package exam2002a

import "fmt"

//Number is used to compute the number of Triangle
func Number(i, j int) int {
	if j == 1 || i == j {
		return 1
	}
	return Number(i-1, j) + Number(i-1, j-1)
}

//Triangle is used to print Yang Hui Triangle
func Triangle(h int) {
	for i := 1; i <= h; i++ {
		for j := 1; j <= h-i; j++ {
			fmt.Print(" ")
		}
		for k := 1; k <= i; k++ {
			t := Number(i, k)
			fmt.Printf("%d ", t)
		}
		fmt.Println()
	}
}
Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
Built with Hugo
Theme Stack designed by Jimmy