ホームページ  >  記事  >  バックエンド開発  >  PHPは連続する数値の公倍数を見つけます

PHPは連続する数値の公倍数を見つけます

WBOY
WBOYオリジナル
2016-07-06 13:51:561337ブラウズ

なぜ 1 時間は 100 分ではなく 60 分なのでしょうか?これは歴史的な習慣によって引き起こされます。 しかし、これは単なる偶然ではありません。60 という数字は素晴らしい数字であり、それには多くの要因があります。
実際には、1 から 6 までのすべての数字の倍数です。つまり、1、2、3、4、5、6 はすべて 60 を割ることができます。

1 から n までのすべての数値を除算できる最小の整数を見つけたいと考えています。

この数値を過小評価しないでください。たとえば、n=100 の場合、数値は次のようになります:
697203752477164533808935312303556800

ユーザーが入力したn(n

例: ユーザー入力: 6 プログラム出力: 60

ユーザー入力: 10 プログラム出力: 2520

このメソッドを実装するにはphpを使用してください。最初にアイデアを説明できれば最善です。

返信内容:

なぜ 1 時間は 100 分ではなく 60 分なのでしょうか?これは歴史的な習慣によって引き起こされます。 しかし、これは単なる偶然ではありません。60 という数字は素晴らしい数字であり、それには多くの要因があります。

実際には、1 から 6 までのすべての数字の倍数です。つまり、1、2、3、4、5、6 はすべて 60 を割ることができます。

1 から n までのすべての数値を除算できる最小の整数を見つけたいと考えています。

この数値を過小評価しないでください。たとえば、n=100 の場合、数値は次のようになります:

697203752477164533808935312303556800

ユーザーが入力したn(n 例: ユーザー入力: 6 プログラム出力: 60

ユーザー入力: 10 プログラム出力: 2520

このメソッドを実装するにはphpを使用してください。最初にアイデアを説明できれば最善です。

一般的な考え方は次のとおりです。まず 2 つの数値の最小公倍数を見つけます (ユークリッド除算法を使用して 2 つの数値の最大公約数を見つけ、次に式を使用して最小公倍数を求めます)。次に最小公倍数を見つけます。次の数値の倍数など、最後の A 数値まで続きます。 。

コードは以下の通りです: (phpのint型が大きすぎるとオーバーフローするので注意してください)

リーリー
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。