今日、私には兄があり、私のように、何の固体知識ベースのアルゴリズムが存在しない、でもでも、だけではなく、学ぶためのレースに、より早く忘れて、すぐに学ばなければなら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;
}
ある日、一歩一歩。