很簡單的C語言程式,一個很簡單的C語言程式

2023-01-18 19:10:25 字數 1650 閱讀 3159

1樓:帳號已登出

不要先把總結果求出來再取最後一個數字

因為最後一個數字肯定有數字的個位數決定

比如13^13,就求3*13,但是每次記錄最後一個數字

3×3=9 9

9×3=27 7

7×3=21 1

1×3=3 3

3×3 9

然後就可以看出是個最後結果處於每4次一個迴圈

因為13x13x13...x13總共有12個乘號,所以12%4=0所以結果是3

再舉一個例子77^77,就求7^77

7×7=49 9

9×7=63 3

3×7=21 1

1×7=7 7

7×7=49 9

所以4次一迴圈

77x77x77..x77中有76個乘號,所以76%4=0,所以取迴圈的第四個數,答案是7

再舉一個列子98×98,就求8^98

8×8=64 4

4×8=32 2

2×8=16 6

6×8=48 8

8×8=64 4

出現迴圈,4次一迴圈

98×98....×98中有97個乘號,97%4=1,取第1個數,所以結果為4

以下就是我自己編寫的程式,程式中有詳細的說明,你根據我舉例好好想一下,如果再不懂,繼續問

#include

int main()

aresult=m*aresult%10;

if(aresult==a[0])

break;

a[aflag++]=aresult;

}//end i for

if((n-1)%aflag==0)

printf("%d\n",a[aflag-1]);

else

printf("%d\n",a[(n-1)%aflag-1]);

return 0;}

2樓:

首先,對於任意數n,其可以表示為m*10+n1,其中m及n1都為整數且0<=n1<=9,則有n^n=(m*10+n1)^n=求和(i=0, n)*c(i,n)*(m*10)^(n-i)*n1^n,對於i=1...n的項,其值模10均為0,故n^n的最後一位僅與n1有關,問題簡化為n1^n%10。

又知對於0<=n1<=9,n1^m(m是正整數)其末位存在迴圈特徵,如下:

0 : 0,迴圈長度為1

1 : 1,迴圈長度為1

2 : 2 4 8 6,迴圈長度為4

3 : 3 9 7 1,迴圈長度為4

4 : 4 6,迴圈長度為2

5 : 5,迴圈長度為1

6 : 6,迴圈長度為1

7 : 7 9 3 1,迴圈長度為4

8 : 8 4 2 6,迴圈長度為4

9 : 9 1,迴圈長度為2

然後由以上特徵去解題,應該不會再超時了。

3樓:月影低徊

我覺得你不妨可以總結一下各位為0~9的數的k次方的各位數的規律.都是有章可循的.然後直接由這個規律根據輸入的數字做一些簡單的判斷即可.

時間有點晚了.不寫程式了.不過這思路應該是可行的.

比如說個位為0的結果是0

個位為1的結果是1

各位為2的結果應該是2,4,8,6,2,4,8,6如此一直迴圈下去以此類推

很簡單的C語言初級題,幫忙,一個很簡單的C語言初級題,幫忙

這是一個函式遞迴呼叫與返回的問題 程式分析如下 fun 20 if 10 0 fun 8 20 2 10 20 2 2 8 if 4 0 fun 2 8 2 4 8 2 2 2 if 1 0 fun 1 2 2 1 2 2 2 1 if 1 2 0 printf 1 printf 2 printf ...

很簡單的英語問題一個很簡單的英語問題

no he isn t 對bai,他不是一個學生 du zhiyes,he is 不,他是一個學生 要對事實回答 回答反dao意疑問句專和回答一般疑問句一樣,肯定屬回答用 yes,肯定結構 否定回答用 no,否定結構 但是翻譯過來意思不和一般疑問的回答一樣。這與漢語習慣有所不同。例如 1 isn t...

很簡單的物理問題,一個很簡單的物理問題

你說的不對 我開始學的時候也曾迷惑,首先是圓周運動需要向心力,這時候重力提供向心力,所以對軌道沒有沒有壓力 重力本來的作用是向下的,使物體下落,但是提供了向心力所以就對軌道沒有壓力了 不知道我說的你明白沒有?加速度有兩種 一種改變大小,是為切向加速度,另一種改變方向,是為法向加速度。斜面為前者,圓周...