一个数学小知识

一个小数学知识:java

当一个大于10的数能整除3时,则该数的各个位数的和也是3的倍数;反之,当一个大于10的数的各个位数的和是3的倍数时,则该数也能整除3;

验证: 当一个大于10的数能整除3时,则该数的各个位数的和也是3的倍数
源代码:
import java.math.BigInteger;

public class  Experiment58
{
	public static int FindNumber(int number){
		int i=0;
		while(Math.pow(10,i)<=number){
			i++;
		}

		int result=0;
		for(int j=i;j>=0;j--){
			result=result+(int)(number/Math.pow(10,j));
			number=(int)(number%Math.pow(10,j));
		}

		return result;
	}

	public static void main(String[] args) 
	{
		int num=0;
		System.out.println("3的倍数:      分拆位数和num      num/3");
		for(int i=10;i<110;i++){
			if(i%3==0){
				System.out.print(i+"\t\t");
				num=FindNumber(i);
				System.out.print(num+"\t\t");
				System.out.print(num+" % 3 = "+num%3+"\t");
				System.out.println();
			}
		}
	}
}
运行结果:


验证:当一个大于10的数的各个位数的和是3的倍数时,则该数也能整除3spa

源代码:code

public class  Experiment59
{
public static int FindNumber(int number){
int i=0;
while(Math.pow(10,i)<=number){
i++;
}


int result=0;
for(int j=i;j>=0;j--){
result=result+(int)(number/Math.pow(10,j));
number=(int)(number%Math.pow(10,j));
}


return result;
}


public static void main(String[] args) 
{
int k=0;
for(int i=10;i<=200;i++){
k=FindNumber(i);
if(k%3==0){
System.out.print(i+"\t");
System.out.print(k+"\t");
System.out.print(k+" % 3 = "+k%3+"\t");
System.out.print(i+" % 3 = "+i%3+"\t");
System.out.println();
}
}
}
}
blog