Notes de brossage PTA (langage C) | 7-42 pour éliminer le baccalauréat (20 points)

Commencez à brosser les questions, je pense que la quantité de code et les fondations sont trop réduites, ce qui entraîne que la structure de données ne le fera pas, brossez-le lentement ~
Insérez la description de l'image ici


1. Titre

Insérez la description de l'image ici
Exemple d'entrée:

31

Exemple de sortie:

3584229390681 15


2. Code

#include<stdio.h>
int main(){
	int x;
	scanf("%d",&x);
	int cnt=0;
	int a=0,c=0,d;
	while(a<x){
		a=a*10+1;
		cnt++;
	}
	while(1){
		printf("%d",a/x);
		a%=x;
		if(a==0) break;
		a=a*10+1;
		cnt++;
	}
	printf(" %d",cnt);
	
	return 0;
}

Insérez la description de l'image ici

3. Discussion

Ce sujet est très intéressant, ha, aurait pensé qu'une question de « simple », la circulation continue de 10 plus 1, et bien sûr il y a deux testExpiration du délai, alors il n'y aurait pas ,,, alors.

#include<stdio.h>
#include<math.h>
int main(){
	int x;
	scanf("%d",&x);
	int i;
	int cnt=0;
	long long int a=0,c=0,d;
	while(1){
		a=a*10+1;
		cnt++;
		c=a/x;
		d=a%x;
		if(d==0){
			printf("%lld %d",c,cnt);
			break;
		}
	}
//	printf("%lld %d",c,cnt);
	
	return 0;
}

Insérez la description de l'image ici
Lorsque j'ai cherché sur Internet, j'ai découvert une astuce perverse, qui consiste à simuler le fonctionnement de la division, c'est-à-dire:
Insérez la description de l'image ici
qu'est-ce que cela signifie?

Autrement dit, seule une partie du numéro de baccalauréat est générée en premier. Dans l'exemple, il s'agit de 111, puis la division est effectuée, ce qui équivaut à calculer le résultat à partir du bit le plus élevé (l'étape de l'opération de division manuscrite). Addition d'addition, mais la signification de patchwork, c'est-à-dire 1 "addition" 1 est 11).

Magnifique! ! !
Insérez la description de l'image ici
Insérez la description de l'image ici

Publié 257 articles originaux · loué 5220 · 880 000 vues

Je suppose que tu aimes

Origine blog.csdn.net/TeFuirnever/article/details/105539243
conseillé
Classement