1. 程式人生 > >判斷a/b是否為有限小數 (小學數學題目)

判斷a/b是否為有限小數 (小學數學題目)

     我們知道,在數學上,當a, b都為正整數時,a/b必然是有理數(有限或者迴圈),那如何判斷a/b是有限還是無限迴圈呢?程式如下:

#include <iostream>
using namespace std;

int gcd(int x, int y)
{
	int r;
	while( x % y)
	{
		r = x % y;
		x = y;
		y = r;
	}

	return y;
}

bool is2And5Number(int n)
{
	while(0 == n % 2)
	{
		n /= 2;
	}

	while(0 == n % 5)
	{
		n /= 5;
	}

	if(1 == n)
	{
		return true;
	}

	return false;
}

int main()
{
	int a, b;
	int g, n;
	while(1)
	{
		cin >> a >> b;
		g = gcd(a, b);
		n = b / g;

		if(is2And5Number(n))
		{
			cout << "finite" << endl;
		}
		else
		{
			cout << "infinite" << endl;
		}
	}

	return 0;
}

相關推薦

判斷a/b是否有限小數 小學數學題目

     我們知道,在數學上,當a, b都為正整數時,a/b必然是有理數(有限或者迴圈),那如何判斷a/b是有限還是無限迴圈呢?程式如下: #include <iostream> usin

A + B Problem Too HDU - 2101語言訓練題

This problem is also a A + B problem,but it has a little difference,you should determine does (a+b) could be divided with 86.For example ,if (A+B)

輸入AAABBBBCCDDD,統計A B C D各多少結果是A3B4C2D3

輸入AAABBBBCCDDD,統計A  B  C  D各多少(結果是A3B4C2D3) import java.util.Iterator; import java.util.Map; public class Test { public static void ma

已知A,B兩點及C點不在直線AB上座標,求在直線AB上距離A點距離線段AC長度的點D座標

(取自定位導航專案) 哇!這不就是一道初中的數學題嘛!But...                                

大數加法 a,b可能負數

        if(c[lc-1]>=0)                             //A,B相加為正;         {             flag=1;             for(int i=0;i<lc;i++)             {         

之江學院 K: qwb與小數思維求A/B第n位小數

it: 1 Sec Memory Limit: 128 MB Submit: 284 Solved: 40 [Submit][Status][Web Board] Description qwb遇到了一個問題:將分數a/b化為小數後,小數點後第n位的

給定區間[-2的31次方, 2的31次方]內的3個整數AB和C,請判斷A+B是否大於C。

pat鏈接:https://www.nowcoder.com/pat/6/problem/4077題目描述給定區間[-2的31次方, 2的31次方]內的3個整數A、B和C,請判斷A+B是否大於C。輸入描述:輸入第1行給出正整數T(<=10),是測試用例的個數。隨後給出T組測試用例,每組占一行,順序給出A

判斷Double物件是否小數

 1、Double test=100.00,此時返回true public static void main(String[] args) { Double test = 100.00; double eps = 1e-10; boole

js 當變數值0,判斷是否空時0==''返回ture的問題

var aa = 0; if(aa==""){ alert("111"); } ------------------------------ var aa = 00; alert(aa==""); 都是返回true。 這是因為0與 ’ ’ 轉換成布林型都是false的。

pat:給定區間[-2的31次方, 2的31次方]內的3個整數AB和C,請判斷A+B是否大於C。

題目描述 給定區間[-2的31次方, 2的31次方]內的3個整數A、B和C,請判斷A+B是否大於C。 輸入描述: 輸入第1行給出正整數T(<=10),是測試用例的個數。隨後給出T組測試用例,每組佔一行,順序給出A、B和C。整數間以空格分隔。 輸出描述:

php 判斷訪問的是否移動端移動端、pc端,是否微信瀏覽器端?

函式,設定為公共函式即可! /** * //判斷是否手機裝置 * @return boolean */ function is_mobile_request() { $_SERVER['ALL_HTTP'] = isset($_SERVER['ALL_HTTP']) ? $_SERVER

readline中的鍵盤碼^[[A,^[[B,^[[D,^[[C ANSI控制碼

最近除錯u-boot的readline,對一些特殊按鍵鍵值有些疑惑,比如↑↓←→四個鍵,在linux的minicom敲下這幾個鍵,串列埠會輸出什麼資料。其實不需要用串列埠測試,我們可以寫個小程式測試一下: 點選(此處)摺疊或開啟 #include <stdi

之江學院 K: qwb與小數(思維求A/B第n位小數)

描述 記得不久前的一場實驗室收錢大賽中,出現了一個六位有效數字,以及迷之坑點0 , 0 的資料,jnf這次吸取了教訓,所以。。。他準備再卡一下小數點。當然此題不會太難,jnf友情的提示學弟學妹們,

js判斷是否整數型別5種方式

方式一、使用取餘運算子判斷 任何整數都會被1整除,即餘數是0。利用這個規則來判斷是否是整數。 function isInteger(obj) { return obj%1 === 0 } isInteger(3) // true isInteger(

A/B1對多關係,要求聯合查詢B表只提取一條與A記錄關聯的記錄

我現在 有主表 A  和從表B  A表字段有:  XM nvarchar2(100), RY_ID nvarchar2(32) B表字段有:  RY_ID nvarchar2(32),  XL  nvarchar2(50), HID NUMBER(7,0) B的RY_ID為

HDU 1002 A + B Problem II | 大數入門 詳細 c/c++程式碼解析

A + B Problem II Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 434632    Accepted Subm

C語言程式設計,用迭代法求根號a,公式Xn+1=1/2)Xn+a/Xn

要求前後兩次求出的X的差的絕對值小於10^-5。Xn初值可為a/2。用迴圈設計。#include <iostream> #include <cmath> using namespace std; int main() { float a,x0

判斷一個整數是否水仙花數迴圈分解,立方相加

判斷一個數是否為水仙花數,最常規的做法就是:分解個十百位,立方相加與原數做相等判斷。現在我們來換種思路判斷一個三位正整數是否為水仙花數。程式碼如下:import java.util.*; class

Being a Good Boy in Spring Festival杭電1850尼姆博弈

cor gree 強烈 方案 con tracking output script 主動 Being a Good Boy in Spring Festival Time Limit: 1000/1000 MS (Java/Others) Memory Limi

a和uim之大逃離luogu P1373 dp

math block pac clu 偶數 char sdi span lag 小a和uim之大逃離(luogu P1373 dp) 給你一個n*m的矩陣,其中元素的值在1~k內。限制只能往下和往右走,問從任意點出發,到任意點結束,且經過了偶數個元素的合法路徑有多少個。在