REVISE DAY 1 C Circulateを(アルゴリズムポータル古典的なサイクルレース)

今日、私には兄があり、私のように、何の固体知識ベースのアルゴリズムが存在しない、でもでも、だけではなく、学ぶためのレースに、より早く忘れて、すぐに学ばなければならC言語の範囲のいくつかのアイデアを得ることができません。だから私は、新しい基本的なC言語、およびアルゴリズムとデータ構造の基本的な知識の上に行くことに決め、試合の準備のため、内だけでなく、将来の学習のためだけでなく、

循環(のため、一方で行う、しばらく)


0.1スイセン水仙番号

すべての出力水仙は999から100に番号を付けます。3桁のABC満たしている場合ABC = A3 + B3 + C3は、水仙の数としてそれを主張しました。例えば、153 + 53 + 33 = 13は、そう153は、水仙の数です。

コード:

#include<stdio.h>
int main()
{
	int i;
	int a,b,c;
	for(i=100;i<1000;i++)
	{
		a=i/100;
		b=i%100/10;
		c=i%100%10;
		if(a*a*a+b*b*b+c*c*c==i)
			printf("%d ",i);
	}
	return 0;
}

0.2 hanxin漢の兵士

伝説、漢の知性、そして決して直接、独自の軍隊の数をカウントしない、による限り、兵士が形成を変換する行の行の行の3、5、7を作るために持っていますが、毎回、彼はパイメイの一つだけのチームを総なめにしたとして合計数を知っています。入力データが複数組を備え、データの各セットは、3つの非負の整数、B、Cが含まれているテール形成(<3、B 5、各列の個数を表し 、C << 7)、 出力の合計数の最小値を(または解決策を報告していません)。10以上の総数は、これ以上100以下、知られていません。エンドへの入力ファイル。
サンプル入力:
2. 6. 1
2 1 3
サンプル出力:
。ケース1:41である
ケース2:いいえの答え

コード:

#include<stdio.h>
int main()
{
	int a,b,c;
	scanf("%d%d%d", &a, &b, &c)
		for (int i = 10; i < 100; i++)
		{
			if (i % 3 == a && i % 5 == b && i % 7 == c)
			{
				printf("%d", i);
				return 0;
			}
		}
		if(i==101)
		printf("No answer");
	return 0;
}

0.3三角形逆三角形

正の整数n≤20、逆三角形出力n層に入ります。例えば、N = 5次の出力:
ここに画像を挿入説明

コード:

#include<stdio.h>
int main()
{
	int n;
	scanf("%d",&n);
	int i, j;
	for (i = 0; i < n; i++)
	{
		for (j = 0; j < i; j++)
			printf(" ");
		for (j = 0; j < 2 * (n - i) - 1; j++)
			printf("#");
		printf("\n");
	}
	return 0;
}

0.4サブシーケンスとサブシーケンス

2つの正の整数でN <M <106、出力を入力ここに画像を挿入説明 5つの小数点に、。N = M = 0の入力データ終了タグの複数のセットを含みます。注:この問題は落とし穴があります。
サンプル入力:
2. 4
65536 655360
0
サンプル出力:
ケース1:0.42361
ケース2:0.00001

コード:

#include<stdio.h>
int main()
{
	int n, m,cnt=0;
	while (scanf("%d%d", &n, &m))
	{
		if (n == 0 && m == 0)
			break;
		else
		{
			cnt++;
			double i;
			double sum = 0;
			for (i = n; i <= m; i++)
				sum += 1 / i / i;//注意,n过大的话相乘会溢出
			printf("case%d:%.5f", cnt,sum);
		}
	}
	return 0;
}

小数の0.5小数画分

入力Aは正の整数、B、C / Bの出力、進形式で、小数点の後にC」。、b≤106、c≤100。= B = C = 0の入力データ終了タグの複数のセットを含みます。
サンプル入力:
1. 6. 4
0 0 0
出力例:
ケース1:0.1667

この質問は、より興味深いものです、そして1つのシミュレーションの質問を行うには、Cベースのレビュー演習を保持するのメンタリティを持っていた、と発見しました。我々は分裂の主な方法が何をしたときに出てくるし、その後10によって相殺以上取らなければならないので、この質問のCの範囲は、二重の最大範囲未満百に等しいことを注記は、16です。(丸めに、1をカウントすることを忘れないでください)

コード:

#include<stdio.h>
int main()
{
	int a, b, c,cnt=0,sd[1000],d,h;
	while (scanf("%d%d%d", &a, &b, &c))
	{
		if (a == 0 && b == 0 && c == 0)
			break;
		else
		{
			cnt++;
			int n = a / b;
			printf("case %d:%d.",cnt,n);
			for (int i = 0; i <= c; i++)//多算一位
			{
				a *= 10;
				sd[i] = a / b;
				a %= b;
			}
			if (sd[c] >= 5)
				sd[c - 1] += 1;
			for (int i = 0; i < c; i++)
				printf("%d",sd[i]);
		}
	}
	return 0;
}

0.6順列(配置)

1,2,3、...、9 DEF、3 3桁のABCからなるとGHIと、各番号が一度だけ使用され、それはABC必要:DEF:GHI = 1:2:3。「ABC DEF GHI」全ての溶液のフォーマット、各行の溶液に応じて出力されます。ヒント:あまりにも多くの頭脳を持っていません。

私は、人生からよりも尊重しなければならなかったので、被写体の空間と時間の複雑さの規定もないので、おそらくそれは、愚かではないそれを得るためにも、裁判官9つの大循環+ N!

死コード:

#include <stdio.h>
int main()
{
	int a, b, c, d, e, f, g, h, i;
	for (a = 1; a <= 9; a++)
	{
		for (b = 1; b <= 9; b++)
		{
			for (c = 1; c <= 9; c++)
			{
				for (d = 1; d <= 9; d++)
				{
					for (e = 1; e <= 9; e++)
					{
						for (f = 1; f <= 9; f++)
						{
							for (g = 1; g <= 9; g++)
							{
								for (h = 1; h <= 9; h++)
								{
									for (i = 1; i <= 9; i++)
									{
										if ((2 * (a * 100 + b * 10 + c) == 1 * (d * 100 + e * 10 + f)) && (3 * (a * 100 + b * 10 + c) == 1 * (g * 100 + h * 10 + i)) && (a != b) && (a != c) && (a != d) && (a != e) && (a != f) && (a != g) && (a != h) && (a != i) && (b != c) && (b != d) && (b != e) && (b != f) && (b != g) && (b != h) && (b != i) && (c != d) && (c != e) && (c != f) && (c != g) && (c != h) && (c != i) && (d != e) && (d != f) && (d != g) && (d != h) && (d != i) && (e != f) && (e != g) && (e != h) && (e != i) && (f != g) && (f != h) && (f != i) && (g != h) && (g != i) && (h != i))
										{
											printf("%d %d %d\n", a * 100 + b * 10 + c, d * 100 + e * 10 + f, g * 100 + h * 10 + i);
										}
									}
								}
							}
						}
					}
				}
			}
		}
	}
	return 0;
}

ある日、一歩一歩。

公開された22元の記事 ウォンの賞賛8 ビュー1474

おすすめ

転載: blog.csdn.net/OWCYKH/article/details/104356319