ハングディアン1163数字根の問題

数字根


#include<stdio.h>
void main(){
    
    
	int a,i,n;
	while(~scanf("%d",&n)&&n){
    
    
		a=n;
		for(i=2;i<=n;i++)
			a=(a*n)%9;
		if(a==0) printf("9\n");
		else printf("%d\n",a);
}}

まとめ
//数値を9で割り、余りを取る=この数値の数字根;
//複数の要素の積の数字根を見つけるプロセスで、この要素を要素の数字根に置き換えることができます。最終結果に影響を与えます。(例:612 81-> 9 => 9 9-> 9)

これが私自身のデジタルルートを書くために必要なコードです。それはどれほど繊細で完璧です!基数変換の知識と相まって、これはどんな頭脳なのか!

#include<stdio.h>
#include<stdlib.h>
void main(){
    
    
	__int64 n;
	while(~scanf("%I64d",&n)&&n){
    
    
		int i=0;
		while(n>=10){
    
    
			__int64 a[50];
			while(n){
    
    
				n/=10;
				a[i++]=n%10;
			}
			while(i--)
				n+=a[i];
		}
		printf("%I64d\n",n);
}}

おすすめ

転載: blog.csdn.net/cwindyc/article/details/107009732