powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / UInt64.MaxValue
7 сообщений из 7, страница 1 из 1
UInt64.MaxValue
    #37735829
Фотография Mash6a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Люди есть такая тема:Большое число. Реализовать класс большого целого положительного числа > UInt64.MaxValue,
с возможностями сложения, вычитания, умножения, целочисленного деления. У меня два вопроса: Это число можно вводить как String а потом передлывать по частям в int ??? И как тогда с этими числами делать деление ???
...
Рейтинг: 0 / 0
UInt64.MaxValue
    #37735850
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BigInteger
BigDecimal
...
Рейтинг: 0 / 0
UInt64.MaxValue
    #37736110
Фотография Mash6a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а никто случаино на эту задачку не натыкался ?)
...
Рейтинг: 0 / 0
UInt64.MaxValue
    #37736967
Фотография Mash6a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
	private static void Plus(String n1, String n2, int lgn1, int lgn2) {
		// TODO Auto-generated method stub
		char ch1[],ch2[];
		int lgnM, i, chn1[],chn2[],chF[];
		ch1 = new char [lgn1];
		ch2 = new char [lgn2];
		chn1 = new int [lgn1];
		chn2 = new int [lgn1];
		for (i=0;i < lgn1; i++){
			ch1[i] = n1.charAt(i);
			chn1[i] = Character.digit(ch1[i], 10);
		//	System.out.println(chn1[i]);
		} 
		
		System.out.println();
		
		for (i=0;i < lgn2; i++){
			ch2[i] = n2.charAt(i);
			chn2[i] = Character.digit(ch2[i], 10);
		}
		if (lgn1>lgn2){lgnM = lgn1;} else {lgnM = lgn2;}
	chF = new int [lgnM];	
	System.out.println("      Hell      ");
	for (i=lgnM-1; i >= 0 ; i--){
		   	
			chF[i] = chn1[i]+chn2[i];
			System.out.print(chF[i]);
			System.out.print(" ");
		}
	System.out.println("      Hell      ");
	for (i=lgnM-1;i>-1;i--){
		if (chF[i]>9){ chF[i]=chF[i]-10;
			chF[i+1]=chF[i+1]+1;		} else{chF[i]=chF[i];}
		System.out.print("  " + chF[i]);
	}
		System.out.println();
	}



где косЯк помогите ???
надо сложить два числа
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
package Olol;

import java.io.*;
import java.lang.*;

public class Olol {
	
	

	public static void main(String [] args){
	
		String chis1;
		String chis2;
		int lg1,lg2;
		chis1="34556754345643455434"; 
		chis2="34556754345643455434";
		lg1 = chis1.length();
		lg2 = chis2.length();
		Plus(chis1,chis2,lg1,lg2);
		System.out.println();
		}

	private static void Plus(String n1, String n2, int lgn1, int lgn2) {
		// TODO Auto-generated method stub
		char ch1[],ch2[];
		int lgnM, i, chn1[],chn2[],chF[];
		ch1 = new char [lgn1];
		ch2 = new char [lgn2];
		chn1 = new int [lgn1];
		chn2 = new int [lgn1];
		for (i=0;i < lgn1; i++){
			ch1[i] = n1.charAt(i);
			chn1[i] = Character.digit(ch1[i], 10);
		//	System.out.println(chn1[i]);
		} 
		
		System.out.println();
		
		for (i=0;i < lgn2; i++){
			ch2[i] = n2.charAt(i);
			chn2[i] = Character.digit(ch2[i], 10);
		}
		if (lgn1>lgn2){lgnM = lgn1;} else {lgnM = lgn2;}
	chF = new int [lgnM];	
	System.out.println("      Hell      ");
	for (i=lgnM-1; i >= 0 ; i--){
		   	
			chF[i] = chn1[i]+chn2[i];
			System.out.print(chF[i]);
			System.out.print(" ");
		}
	System.out.println("      Hell      ");
	for (i=lgnM-1;i>-1;i--){
		if (chF[i]>9){ chF[i]=chF[i]-10;
			chF[i+1]=chF[i+1]+1;		} else{chF[i]=chF[i];}
		System.out.print("  " + chF[i]);
	}
		System.out.println();
	}




	

}
...
Рейтинг: 0 / 0
UInt64.MaxValue
    #37736990
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Потрудитесь отформатировать и дать внятные имена переменным.
На вид вроде, ОК. Не работает только перенос в первой цифре. Т.е. если chn1[0] + chn2[0] > 9, то куда перенос запишем?
Что-то не работает? Пошаговой отладкой умеете пользоваться?
...
Рейтинг: 0 / 0
UInt64.MaxValue
    #37737019
Фотография Mash6a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мужики вы такие капризные... Если вам имена ничего не эают эт не значит что они не корректные. Как сделать длинное умножение подскажите...
...
Рейтинг: 0 / 0
UInt64.MaxValue
    #37737074
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / UInt64.MaxValue
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]