-
C ve C++
(
https://www.ircforumlari.net/c-ve-c/)
- -
Kaprekar Sayılar
(
https://www.ircforumlari.net/c-ve-c/455603-kaprekar-sayilar.html)
Kaprekar Sayılar [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
Girilen sayını kaprekar olup olmadığını araştıran program. Kod:
#include<stdio.h>
#include<conio.h>
/* Kaprekar Sayılar */
main(){
int sayi,sakla, sayac=0, i, kucuk=-1, buyuk, minisayac;
int dizi[4];;
printf("Gireceginiz sayinin kaprekar sayi olup olmadigi kontrol edilecektir.\n\n");
do{
printf("Dort basamakli sayi giriniz: ");
scanf("%d",&sayi);
}while(sayi>10000 || sayi<999);
do{
sayac++;
if(sayac>7)break;
if(kucuk!=-1)sayi=buyuk-kucuk;
// basamaklarina ayir
dizi[0]=sayi/1000;
dizi[1]=(sayi-dizi[0]*1000)/100;
dizi[2]=(sayi%100)/10;
dizi[3]=sayi%10;
//sayi buyukten kucuge sýralanýr
do{
minisayac=0;
for(i=0;i<=2;i++){
if(dizi[i]>dizi[i+1]){
sakla=dizi[i];
dizi[i]=dizi[i+1];
dizi[i+1]=sakla;
minisayac++;
}
}
}while(minisayac!=0);
buyuk=dizi[0]+dizi[1]*10+dizi[2]*100+dizi[3]*1000;
// sayi kucukten buyuge siralanir
do{
minisayac=0;
for(i=0;i<=2;i++){
if(dizi[i]<dizi[i+1]){
sakla=dizi[i];
dizi[i]=dizi[i+1];
dizi[i+1]=sakla;
minisayac++;
}
}
}while(minisayac!=0);
kucuk=dizi[0]+dizi[1]*10+dizi[2]*100+dizi[3]*1000;
// islemlerin dogrulugunu test etmek icin printf fonksiyonu konuldu
printf("Asama %d: %d-%d=%d\n",sayac,buyuk,kucuk,buyuk-kucuk);
}while(buyuk-kucuk!=6174);
if(sayac>7) printf("\ngirdiginiz sayi, kaprekar sayi degildir.");
if(buyuk-kucuk==6174) printf("\n%d. dereceden kaprekar sayidir.",sayac);
getch();
}
|
Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 00:12. | |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk